Не вдається ssh, з'єднання припиняється негайно зі статусом виходу 254


12

Останнє, що мені запам’яталося, - це змінити м'який і жорсткий затвор на безмежний. Тепер я не можу врізатися в автомат.

Це журнал ssh.

Authenticated to IP ([IP]:22).
debug1: channel 0: new [client-session]
debug2: channel 0: send open
debug1: Requesting no-more-sessions@openssh.com
debug1: Entering interactive session.
debug2: callback start
debug2: fd 3 setting TCP_NODELAY
debug2: client_session2_setup: id 0
debug2: channel 0: request pty-req confirm 1
debug1: Sending environment.
debug1: Sending env LC_CTYPE = 
debug2: channel 0: request env confirm 0
debug2: channel 0: request shell confirm 1
debug2: callback done
debug2: channel 0: open confirm rwindow 0 rmax 32768
debug2: channel_input_status_confirm: type 99 id 0
debug2: PTY allocation request accepted on channel 0
debug2: channel 0: rcvd adjust 2097152
debug2: channel_input_status_confirm: type 99 id 0
debug2: shell request accepted on channel 0
Last login: Wed Aug  6 07:18:07 2014 from IP-SOURCE
debug2: channel 0: rcvd eof
debug2: channel 0: output open -> drain
debug2: channel 0: obuf empty
debug2: channel 0: close_write
debug2: channel 0: output drain -> closed
debug1: client_input_channel_req: channel 0 rtype exit-status reply 0
debug1: client_input_channel_req: channel 0 rtype eow@openssh.com reply 0
debug2: channel 0: rcvd eow
debug2: channel 0: close_read
debug2: channel 0: input open -> closed
debug2: channel 0: rcvd close
debug2: channel 0: almost dead
debug2: channel 0: gc: notify user
debug2: channel 0: gc: user detached
debug2: channel 0: send close
debug2: channel 0: is dead
debug2: channel 0: garbage collecting
debug1: channel 0: free: client-session, nchannels 1
Connection to IP closed.
Transferred: sent 4256, received 2504 bytes, in 0.4 seconds
Bytes per second: sent 9616.9, received 5658.0
debug1: Exit status 254

Я досі невдало пробував наступне, перш ніж публікувати тут:

  1. Спроба ввійти в Norc noprofile by ssh user@host 'bash --noprofile'

  2. Примушування tty by ssh -t user@host

  3. Переміщено файл bash_profile. Спробував схит ssh user@host.

  4. Перейменування limits.confфайлу з надією, що він не буде прочитаний.

  5. Перезапущений ssh-сервер.

  6. Виконайте команду через , knifeякknife ssh "name:server" "come_command"

  7. ssh user@host 'ulimit -l 64', ssh user@host 'ulimit -S -l 64', ssh user@host 'ulimit -H -l 64',ssh user@host 'exec ulimit -H -l 64'

Я не впевнений, чи працює цей спосіб виконання команд inline: ssh user@host "some_command"працює, тому що я не можу отримати простий список каталогу. Я також спробував перезавантажити, ssh user@host 'reboot'але не думаю, що команда була виконана. Я також перезапустив машину з AWS, але безуспішно.

Це втрачена причина, що намагається схилити ssh? Чи є спосіб, коли я можу потрапити на сервер?


1
Якщо оболонка входу віддаленого користувача є bash, то bash завжди читає ~ / .bashrc над ssh. Навколо цього немає способу. Чи можете ви там sftp і перевірити / змінити bashrc таким чином?
Стефан Шазелас

Спробував sftp за допомогою CyberDuck, отримав SSH_FXP_INITкод помилки.
theTuxRacer

Ви також можете отримати більш детальний висновок, скориставшись -vопцією, або ще більше, -vvопцією ще більше, а потім -vvvопцією. Напр ssh -vvv user@host. Це може дати тобі краще уявлення про те, де все йде не так.
Warwick

Спробував це. От тут я і взяв журнал.
theTuxRacer

Чи маєте будь-який інший файл (FTP / HTTP ...?) Або оболонку (консоль?) Доступ до машини, яким ви можете користуватися?
Стефан Шазелас

Відповіді:


12

Спробуйте змінити

UsePAM yes

на

UsePAM no

в /etc/ssh/sshd_config(для CentOS)


Це працює, але чому?
FelikZ

1
вибачте, але я не пам’ятаю причину)
frad sorvensen

Тут грає SELinux? Цікаво, чи не встигнути контекст /etc/security/limits.conf, і пам не зможе його більше використовувати.
steve

Якщо ви використовуєте дистрибутив, використовуючи systemdце, це неправильне рішення IMHO. Це не дозволить logindвідкрити сеанс, і коли / якщо користувач перезавантажить машину, деякі процеси почалися, оскільки користувач не буде зупинений, як очікувалося.
Біґон

У моєму випадку причина в тому, що у користувача Hard Open Fils Limit на один процесор більше, ніж на nr_open. ( nr_openСкидається при перезавантаженні машини): ви можете перевірити з nr_openдопомогою cat /proc/sys/fs/nr_openі жорстких відкритих файлів ulimit -Hn. Якщо ви все ще хочете, щоб користувач для входу в ssh використовував налаштування Hard Open File Config, вам потрібно збільшити nr_open:sudo sysctl -w fs.nr_open=NUM_BIGGER_THAN_HARD
Xin Meng

4

У мене була подібна проблема, я, здавалося, бачив лише таке дивне повідомлення:

client_input_channel_req: channel 0 rtype exit-status reply 0.

Користувач Я намагався sshINTO не мають оболонки за замовчуванням .

Я пробіг наступне:

chsh -s $(which sh) username 

І тоді я зміг ssh.

Примітка:

Біг su usernameповертав вихідний код 1(був збійним) і тепер він просто працює.


1
Святе лайно, яке кричуще! Це була і моя проблема. Я спробував зробити "системного" користувача (не HOME і no SHELL) для використання SFTP, і я міг автентифікувати, але я не міг використовувати SFTP або SCP або SSH. Це вирішило мою проблему. Дякую!
Дейв

2

Я зіткнувся з цим на Mac OS X , де конфігурація ~/.bashrcмала проблеми , який викликав sshдо роботи, але sftpдля НЕ роботи. У зданих коментарях @ stéphane-chazelas, здається, є правильна ідея.

На віддаленій системі через SSH, перейменовувати , ~/.bashrcщоб ~/.bashrc-MOVEDі спробувати ще раз і подивитися , якщо він працює; потім відновіть ~/.bashrcі визначте проблему.

У моїй системі ~/.bashrcмістилося це:

if [ -z "$PS1" ] ; then
    exit
fi

Який був імовірний винуватець.


1

Мені було змінено конфігурацію "Відкрити файли" у файлі /etc/security/limits.conf з параметром ядра на необмежену і втрачено підключення.

Після повернення його до нормального для користувача root я отримав з'єднання назад.

Wrong Example:
## Example hard limit for max opened files
*        hard   nofile unlimited
root     hard   nofile  unlimited
## Example soft limit for max opened files
*        soft   nofile unlimited
root     soft   nofile unlimited

Correct Ex:
## Example hard limit for max opened files
*        hard   nofile 16000
root     hard   nofile 16000
## Example soft limit for max opened files
*        soft   nofile 16000
root     soft   nofile 16000

1

У мене було таке ж питання і сьогодні. Перше, що я помітив, /var/logбуло на 100%.

Я це виправив, і це не вирішило питання. Я не міг sshні ввійти, ні я не міг увійти через GUI, але я міг Ctrl+ Alt+ F2дістатися до CLI та ввійти таким чином. Я набрав startxі отримав помилку, яка /tmp/.X0-lockіснувала.

Я видалив цей файл (технічно я все видалив /tmp), і я зміг увійти через GUI, а також через ssh.


Дякую! У моєму випадку це було /homeзаповнено до 100%, що я виявив, використовуючи df -hCentOS 7.
RAM237
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.