Вопрос или проблема
Я использую Ubuntu сервер 16.04.1 LTS (ядро 4.4.0-38-generic x86_64). И устанавливаю openssh-server(1:7.2p2-4ubuntu2.1). Сначала я выполняю следующее.
sudo systemctl enable ssh.service
Но sshd не запускается в процессе загрузки. Поэтому я проверяю этот вопрос -> (SSH Daemon does not autostart) И пробую эту статью -> (http://blog.roberthallam.org/2010/06/sshd-not-running-at-startup) Однако sshd не запускается. (sudo service ssh status
мёртв.) Конечно, я проверил, что символическая ссылка /etc/rc*.d/S**ssh
создана.
Затем я добавил следующее в /etc/rc.local
.
/etc/init.d/ssh start
Наконец, sshd действительно запускается при загрузке, но мне интересно, почему обычный процесс не работает. Возможно, это связано с использованием USB-адаптера беспроводной сети, но я не могу быть в этом уверенным. Пожалуйста, скажите, что вы об этом думаете.
Убедитесь, что openssh-server установлен. Если он уже установлен, попробуйте переустановить его следующим образом:
sudo apt-get remove --purge openssh-server
sudo apt-get install openssh-server
Для Ubuntu 16.04 LTS нет никаких проблем с ядром 4.4, и ядро Linux 4.6 также совместимо. Если у вас все еще есть проблема, то я рекомендую обновить ваше ядро или перекомпилировать ваше ядро.
Ответ или решение
Почему демон SSH не запускается автоматически на Ubuntu Server 16.04.1 LTS
Опыт работы с сервером на базе Ubuntu может стать проблематичным, особенно когда речь идет о запуске SSH демона (sshd) во время загрузки системы. Если после установки OpenSSH Server (версия 1:7.2p2-4ubuntu2.1) вы столкнулись с ситуацией, когда sshd не запускается при загрузке, важно понять возможные причины и пути их устранения.
Варианты решения проблемы запуска sshd
-
Проверка установки OpenSSH
Первым делом убедитесь, что пакет OpenSSH Server установлен корректно. Вы можете сделать это, используя следующую команду:dpkg -l | grep openssh-server
Если пакет не установлен, выполните следующие команды для установки:
sudo apt-get update sudo apt-get install openssh-server
Если пакет уже установлен, рассмотрите возможность его переустановки:
sudo apt-get remove --purge openssh-server sudo apt-get install openssh-server
-
Проверка статуса службы
После установки и настройки попробуйте проверить статус службы:sudo systemctl status ssh.service
Это даст вам представление о том, работает ли служба, или она находится в состоянии "умертва" (dead). Если служба "умертва", возможно, вам стоит просмотреть журналы для выявления ошибок:
sudo journalctl -u ssh.service
-
Проблемы с зависимостями и конфигурацией
Поскольку вы упомянули использование USB-адаптера, конфигурация сети может быть одной из причин. Убедитесь, что сеть готова к подключению SSH до того, как запускается демон. Это можно проверить через/etc/network/interfaces
или используя netplan в более современных версиях Ubuntu. -
Убедитесь, что ssh.service включен для автозапуска
Вы можете проверить, включен ли демонт ssh для автозапуска, с помощью команды:sudo systemctl is-enabled ssh.service
Если результат "disabled", выполните команду для его включения:
sudo systemctl enable ssh.service
-
Модификация /etc/rc.local
Как временное решение, добавление строки/etc/init.d/ssh start
в файл/etc/rc.local
может решить проблему, однако это не идеальное долговременное решение. Это делает вашу систему зависимой от выхода из других процессов, что может создать свои собственные проблемы. -
Обновление ядра системы
Несмотря на то, что вы работаете на стабильной версии ядра 4.4.0-38-generic, иногда обновление до более новой версии может решить неполадки. Проверьте доступные обновления:sudo apt-get upgrade sudo apt-get dist-upgrade
Если вы хотите попробовать более новое ядро, ознакомьтесь с документацией по обновлению ядра Linux для Ubuntu.
Заключение
Если после выполнения всех указанных шагов проблема продолжает сохраняться, возможно, стоит изучить дополнительные источники информации, такие как форумы поддержки Ubuntu или системные журналы. Также стоит рассмотреть возможность взаимодействия с сетью и проверить, удается ли системе определить ваш USB-адаптер до начала загрузки sshd. Регулярное продвижение по диагностическим шагам поможет идентифицировать и устранить основные проблемы, вплоть до полного восстановления нормальной работы SSH на сервере.