Назад | Перейти на главную страницу

Ошибка SSH: сбой запроса выделения PTY на канале 0

Итак, я погуглил об ошибке и проверил serverfault, но решения не подошли. Большинство результатов были проблемы с / dev / pts, но он смонтирован. Другие результаты - это ошибки с git, но на машине нет git.

Моя учетная запись не заблокирована, я все еще могу войти в систему с консоли. У других пользователей также есть эта проблема, поэтому я не думаю, что это как-то связано с тем, что находится в моем .ssh /

Я получаю этот ответ с помощью ssh -vv:

<snip>
debug1: Next authentication method: password
rogier@server's password: 
debug2: we sent a password packet, wait for reply
debug1: Authentication succeeded (password).
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: client_session2_setup: id 0
debug2: channel 0: request pty-req confirm 1
debug1: Sending environment.
debug1: Sending env LANG = en_US.UTF-8
debug2: channel 0: request env confirm 0
debug2: channel 0: request shell confirm 1
debug2: fd 3 setting TCP_NODELAY
debug2: callback done
debug2: channel 0: open confirm rwindow 0 rmax 32768
debug2: channel_input_status_confirm: type 100 id 0
PTY allocation request failed 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

После этого сеанс зависает. Кто-нибудь знает, что происходит?

Хорошо, спасибо Тиму. umounting / dev / pts, а затем mount / dev / pts сделали свое дело.

позвольте мне рассказать вам весь свой опыт, я пытаюсь подключиться с linux к окна через ssh, были серверы с openssh и другие с freessh. Когда на сервере есть openssh, он работает нормально, но с тех пор он начинает выдавать сообщение «запрос оболочки не выполнен на канале 0», когда freessh - это служба, работающая (она приходила из одного дня в другой, она раньше работала лучше, чем openssh)

Проведенный мной тест состоял в том, чтобы попытаться установить соединение с другим пользователем, поскольку я вижу, что он работает нормально, я создаю резервную копию своего ~ / .ssh (пользователя, который представляет проблему), и после этого он работает нормально.

Я думаю, что задействованный файл был known_hosts, завивки выглядят нормально, как и контент, но я исправил это именно так.

Ошибка просто означает, что открыть псевдотерминал не удалось. Скорее всего это не имеет отношения к ssh. Для отладки на стороне ssh-сервера используйте очень простую демонстрацию PTY, например mypty в http://rachid.koucha.free.fr/tech_corner/pty_pdip.html чтобы узнать, можно ли вообще выделить какой-либо PTY. Если нет, используйте strace, чтобы выяснить, где он не работает. (Для меня это была отсутствующая символическая ссылка / dev / ptmx в контейнере, как описано в https://www.kernel.org/doc/Documentation/filesystems/devpts.txt )

Может зависеть от вашего LANG и ваших настроек LC, но это работает для меня:

unset LANG        2>/dev/null
unset LC_MONETARY 2>/dev/null
unset LC_NUMERIC  2>/dev/null
unset LC_MESSAGES 2>/dev/null
unset LC_COLLATE  2>/dev/null
unset LC_CTYPE    2>/dev/null
ssh -l username hostname

В моем случае я подключался к хосту Windows (с запущенным cygwin и другим сопутствующим программным обеспечением) из Linux.

Как ни странно попытки подключиться на сервер Windows работал, но не смог выделить интерактивный терминал. Проверьте ssh -vv журналы ниже.

...
Authentication succeeded
...
Entering interactive session
Requesting authentication agent forwarding.
Sending environment.
Sending env LANG = en_US.UTF-8
PTY allocation request failed on channel 4
...

Мой коллега выяснил, что это произошло из-за множества открытых процессов на сервере Windows, которые использовали те же учетные данные, что и мои, и выполняли некоторые автоматизированные пакетные операции.

Временное отключение, помогло мне и успешно разрешило мое ssh-соединение.

Скорее всего, windows + cygwin имеет максимальный лимит в этом отношении. Остается работа по перераспределению ресурсов правильно когда эти процессы завершены.

Снова поднимаясь, получаю,

warning: can't open /etc/fstab: No such file or directory

Но,

mount devpts /dev/pts -t devpts

Покажи фокус

Ссылка: http://www.iitk.ac.in/LDP/LDP/lfs/5.0/html/chapter06/proc.html

У меня была такая же проблема при попытке подключиться по SSH к любому компьютеру после того, как я поигрался с созданием новых сертификатов SSH. Повторная установка /dev/pts ничего не сделал для меня, но очистка идентификаторов от моего локального ssh-агента сработала:

ssh-add -D