После успешного входа в мой VPS командная строка не отображается. Я запускал ssh с -vvv и sshd с выводом отладки, абсолютно ничего плохого.
VPS - это Ubuntu 11.04, клиент Ubuntu 11.10, сидящий за маршрутизатором. Странно то, что мой ноутбук (также Ubuntu 11.10) за тем же маршрутизатором подключается и без проблем получает командную строку.
/ var / log / auth выход здесь
ssh -vvv выход здесь здесь
, поскольку ноутбук получает командную строку без проблемы, я думаю, проблема с моим рабочим столом. Могу ли я сделать все как ssh, если я что-то напортачил? Я пытался удалить ~ / .ssh / knownhosts, но этого не произошло.
Для других, которые сталкиваются с подобными проблемами, вот еще одно решение:
Наша встроенная система разрешала ssh-соединения, но не давала приглашение оболочки. Установив вывод регистрации в DEBUG3 в sshd_config
и проверив /var/log/messages
, мы смогли определить, что ssh-сервер будет останавливаться около 100 лет!
Наша встроенная система никогда не инициализировала свои часы, поэтому он подумал, что это был 1917 год. Поскольку сообщение клиента ssh было из будущего, сервер ждал своего времени, чтобы его догнать. Мы решили проблему, установив время (используя date
) и перезапустив сервер (используя /etc/init.d/sshd restart
).
Не уверен, что это та же проблема, которую я видел, но в Ubuntu они требуют, чтобы bash был запущен в режиме входа в систему , чтобы установить приглашение, как таковое , если у вас нет [110 ] в sshd_config
вы не получите подсказку.
Как только вы войдете в систему, сделайте echo "$PS1" | od -bc
. Ваше приглашение PS1
(при условии bash
) задается сценариями запуска. Где вы настраиваете свою подсказку? Возможно, вам нужно добавить определение PS1
в ~/.ssh/environment
или ~/.ssh/rc
на цели. См. man ssh
и man sshd
.
Если вы запускаете sshd как управляемый системой процесс, то после внесения любых изменений в /etc/ssh/sshd_config
необходимо выполнить systemctl restart sshd
, чтобы изменения вступили в силу.