У меня есть рабочий Сервер Ubuntu 10.04.1. Когда я пытался войти в сервер через ssh, я не мог. Вместо этого я добрался connection refused
ошибка. Я пытался проверить с помощью ping-запросов машину, и я получил ответ! Так, ясная причина состоит в том, что демон SSH останавливается.
После перезагрузки я смог войти в свой сервер через ssh. Через какое-то время я посмотрел на свои журналы /var/log/syslog
и найденный следующими записями:
Jan 16 10:57:09 myserver init: ssh main process ended, respawning
Jan 16 10:57:09 myserver init: ssh main process (2465) terminated with status 255
Jan 16 10:57:09 myserver init: ssh main process ended, respawning
Jan 16 10:57:09 myserver init: ssh main process (2469) terminated with status 255
Jan 16 10:57:09 myserver init: ssh main process ended, respawning
Jan 16 10:57:09 myserver init: ssh main process (2473) terminated with status 255
Jan 16 10:57:09 myserver init: ssh main process ended, respawning
Jan 16 10:57:09 myserver init: ssh main process (2477) terminated with status 255
Jan 16 10:57:09 myserver init: ssh main process ended, respawning
Jan 16 10:57:09 myserver init: ssh main process (2481) terminated with status 255
Jan 16 10:57:09 myserver init: ssh main process ended, respawning
Jan 16 10:57:09 myserver init: ssh main process (2485) terminated with status 255
Jan 16 10:57:09 myserver init: ssh main process ended, respawning
Jan 16 10:57:09 myserver init: ssh main process (2489) terminated with status 255
Jan 16 10:57:09 myserver init: ssh main process ended, respawning
Jan 16 10:57:09 myserver init: ssh main process (2493) terminated with status 255
Jan 16 10:57:09 myserver init: ssh main process ended, respawning
Jan 16 10:57:09 myserver init: ssh main process (2497) terminated with status 255
Jan 16 10:57:09 myserver init: ssh main process ended, respawning
Jan 16 10:57:09 myserver init: ssh main process (2501) terminated with status 255
Jan 16 10:57:09 myserver init: ssh respawning too fast, stopped
Я искал подобную проблему/решение. Некоторые люди сказали, что это вызывается демоном SSH, пытающимся запускаться прежде, чем объединиться в сеть, и они предлагают измениться ListenAddress
в /etc/ssh/sshd_config
быть 0.0.0.0
. Я думаю, что это не причина в моем случае, потому что моя проблема происходит после того, как система в порядке.
Какая-либо идея, что вызывает это? Это - Сервер Ubuntu, и он должен выполнять и получил доступ к удаленно использованию SSH.
ОБНОВЛЕНИЕ:
Вот отрывок журнала, в котором я нашел /var/log/auth.log
.
Jan 16 10:56:38 myserver sudo: user : TTY=pts/0 ; PWD=/home/user ; USER=root ; COMMAND=/usr/bin/vim /etc/ssh/sshd_config
Jan 16 10:57:09 myserver sudo: user : TTY=pts/0 ; PWD=/home/user ; USER=root ; COMMAND=/etc/init.d/ssh reload
Jan 16 10:57:09 myserver sshd[1465]: Received SIGHUP; restarting.
Jan 16 10:57:09 myserver sshd[2461]: Server listening on 0.0.0.0 port 22.
Jan 16 10:57:09 myserver sshd[2465]: error: Bind to port 22 on 0.0.0.0 failed: Address already in use.
Jan 16 10:57:09 myserver sshd[2465]: fatal: Cannot bind any address.
Jan 16 10:57:09 myserver sshd[2469]: error: Bind to port 22 on 0.0.0.0 failed: Address already in use.
Jan 16 10:57:09 myserver sshd[2469]: fatal: Cannot bind any address.
Jan 16 10:57:09 myserver sshd[2473]: error: Bind to port 22 on 0.0.0.0 failed: Address already in use.
Jan 16 10:57:09 myserver sshd[2473]: fatal: Cannot bind any address.
Jan 16 10:57:09 myserver sshd[2477]: error: Bind to port 22 on 0.0.0.0 failed: Address already in use.
Jan 16 10:57:09 myserver sshd[2477]: fatal: Cannot bind any address.
Jan 16 10:57:09 myserver sshd[2481]: error: Bind to port 22 on 0.0.0.0 failed: Address already in use.
Jan 16 10:57:09 myserver sshd[2481]: fatal: Cannot bind any address.
Jan 16 10:57:09 myserver sshd[2485]: error: Bind to port 22 on 0.0.0.0 failed: Address already in use.
Jan 16 10:57:09 myserver sshd[2485]: fatal: Cannot bind any address.
Jan 16 10:57:09 myserver sshd[2489]: error: Bind to port 22 on 0.0.0.0 failed: Address already in use.
Jan 16 10:57:09 myserver sshd[2489]: fatal: Cannot bind any address.
Jan 16 10:57:09 myserver sshd[2493]: error: Bind to port 22 on 0.0.0.0 failed: Address already in use.
Jan 16 10:57:09 myserver sshd[2493]: fatal: Cannot bind any address.
Jan 16 10:57:09 myserver sshd[2497]: error: Bind to port 22 on 0.0.0.0 failed: Address already in use.
Jan 16 10:57:09 myserver sshd[2497]: fatal: Cannot bind any address.
Jan 16 10:57:09 myserver sshd[2501]: error: Bind to port 22 on 0.0.0.0 failed: Address already in use.
Jan 16 10:57:09 myserver sshd[2501]: fatal: Cannot bind any address.
Кажется, что эта ошибка начала появляться после того, как я перезагрузил демона SSH. Если я избегаю использования ssh reload
и используйте ssh restart
вместо этого?
Это, по-видимому, является результатом ошибки # 687535, которая была недавно исправлена в natty и была загружена как в Maverick, так и в Lucid в качестве предлагаемого обновления.
https://bugs.launchpad.net/ubuntu/lucid/+source/openssh/+bug/687535
Я призываю всех пойти туда, попробуйте тест case (найдите TEST CASE) и опубликуйте результаты до и после установки предложенного исправления. Это поможет команде SRU решить, что проверка была выполнена, и выпустить ее в качестве обновления.
Вы должны проверить, что произошло за до того, как SSH начал колебаться в syslog
. Если сетевая подсистема умерла, это могло бы объяснить, почему sshd
начал отказывать.
Я также проверю /var/log/auth.log
. Это журнал sshd
, и он может дать вам лучшее сообщение об ошибке.
В /etc/ssh/sshd_config
убедитесь, что все опции yes и no указаны строчными буквами. Например, если вы установите PermitRootLogin No
, ssh не запустится. На самом деле это должно быть PermitRootLogin no
.
Ubuntu ssh не запускается, и системный журнал выдает «init: ssh основной процесс (2044) завершен со статусом 255»
/ usr / sbin / sshd -Ddp 10222
Конечно, работал для меня определить ошибку строки sshd_config
У меня была похожая проблема с изображением Ubuntu 11.10 на Линоде после перезапуска. Служба ssh выдаст в syslog:
Mar 18 06:31:33 servername kernel: init: ssh main process ended, respawning
Mar 18 06:31:33 servername kernel: init: ssh main process (3419) terminated with status 255
Mar 18 06:31:33 servername kernel: init: ssh main process ended, respawning
Mar 18 06:31:33 servername kernel: init: ssh main process (3422) terminated with status 255
Mar 18 06:31:33 servername kernel: init: ssh respawning too fast, stopped
Это тестовая коробка, и у нее было около 60 дней безотказной работы, поэтому где-то по пути я установил что-то, что добавилось в конец sshd_config:
ClientAliveInterval 60
ClientCountAliveMax 60
Комментирование этих строк позволило запустить ssh.
У меня была такая же проблема на моем 12.04 ящике. То есть те же симптомы Увы, это всегда происходило, когда я вводил предложение ListenAddress
с адресами inet
и inet6
в sshd_config
. Короче говоря, это, похоже, признак неправильной формы sshd_config
- хотя в файлах журнала ничего подобного не было.
sshd
В целом, я нахожу очень полезным в таких случаях запускать sshd
, не позволяя ему демонизироваться. Проблема в моем случае заключалась в том, что ни syslog
, ни auth.log
не показали ничего значимого.
Когда я запустил его из терминала, я получил:
# $(which sshd) -Ddp 10222
/etc/ssh/sshd_config line 8: address family must be specified before ListenAddress.
Гораздо лучше! Это сообщение об ошибке позволило мне увидеть, что не так, и исправить это. Ни один из файлов журнала не содержал этот вывод.
NB: по крайней мере в Ubuntu $(which sshd)
- лучший способ удовлетворить требование sshd
об абсолютном пути. В противном случае вы получите следующую ошибку: sshd re-exec requires execution with an absolute path
. -p 10222
заставляет sshd
прослушивать этот альтернативный порт, переопределяя файл конфигурации - это так, чтобы он не конфликтовал с потенциально работающими экземплярами sshd
. Обязательно выберите свободный порт здесь.
Этот метод много раз помог мне в поиске проблем, будь то проблемы с аутентификацией или другие типы. Чтобы получить действительно подробный вывод в stdout
, используйте $(which sshd) -Ddddp 10222
(обратите внимание на добавленный dd
для увеличения многословия). Для дополнительной проверки отладки man sshd
.
есть та же проблема, верхнее решение не работает, но у меня есть решение для этого.
root@imt:~# sshd
sshd re-exec requires execution with an absolute path
ssh localhost
ssh: connect to host localhost port 22: Network is unreachable
Путь в порядке в соответствии с документом, поэтому я запускаю вручную sshd.
root@imt:~# /usr/sbin/sshd
/var/run/sshd must be owned by root and not group or world-writable
/ var / run / sshd - это разрешение.
root@imt:~# ls -ld /var/run/sshd
drwsrwsrwt 2 root root 40 Jan 5 12:58 /var/run/sshd
root@imt:~# chmod 755 /var/run/sshd
тогда это хорошо. запустите ssh localhost и проверьте.
root@imt:~# ssh localhost
The authenticity of host 'localhost (127.0.0.1)' can't be established.
RSA key fingerprint is 64:93:fd:ab:4c:f9:7b:8a:86:60:22:f7:56:fa:ea:cc.
Are you sure you want to continue connecting (yes/no)? yes