Не удается ssh, соединение немедленно завершается с состоянием выхода 254

Самое последнее, что я помню, – это изменение мягкого и жесткого memlock ulimit до неограниченного. Теперь я не могу войти в машину.

Это журнал 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 от ssh user@host 'bash --noprofile'

  2. Принуждение tty ssh -t user@host

  3. Перемещено bash_profile. Пробовал sshing с помощью 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? Есть ли способ, чтобы я мог ssh на сервере?

  • Мягкий лимит против жесткого ограничения
  • Зачем прикасаться к созданию файла в / tmp, если максимальный размер файла ограничен нулевыми байтами?
  • В чем разница между установкой пределов открытых файлов в файле /etc/sysctl.conf vs /etc/security/limits.conf?
  • Почему я хочу ограничить размер сегмента «.data»?
  • Как определить временные ограничения для группы пользователей за сеанс
  • limit.conf модификация не работает
  • Являются ли ограничения в linux (например, контролируемыми ulimit или /etc/security/limits.conf) для каждого пользователя или для каждого пользователя за процесс?
  • Ограничение Openfiles автоматически уменьшается при передаче 2 ^ 21, Ubuntu 16.04
  • 4 Solutions collect form web for “Не удается ssh, соединение немедленно завершается с состоянием выхода 254”

    Попробуйте изменить

     UsePAM yes 

    на

     UsePAM no 

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

    У меня была аналогичная проблема, я, казалось, видел только следующее странное сообщение:

    client_input_channel_req: channel 0 rtype exit-status reply 0.

    Пользователь, которого я пытался использовать ssh, не имел оболочки по умолчанию .

    Я запустил следующее:

     chsh -s $(which sh) username 

    И тогда я смог ssh .

    Заметка:
    Запуск su username возвращал код выхода 1 (был неудачным), и теперь он просто работает.

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

    На удаленной системе через SSH переименуйте ~/.bashrc в ~/.bashrc-MOVED и повторите попытку и посмотрите, работает ли он; затем восстановите ~/.bashrc и определите проблему.

    В моей системе ~/.bashrc содержал следующее:

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

    Который был вероятным преступником.

    Сегодня у меня была такая же проблема. Первое, что я заметил, было / var / log на 100%, я исправил это, и это не решило проблему. Я не смог войти в систему и не смог войти в систему через GUI, но я мог бы использовать CNTRL + ALT + F2 для доступа к CLI и входа в систему таким образом. Я набрал startx и получил сообщение об ошибке, что /tmp/.X0 -lock существует.

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

    надеюсь, это поможет кому-то

    Linux и Unix - лучшая ОС в мире.