Ошибка запуска ssh.service на Ubuntu 16.04 LTS
Цель проводимых работ:
Недавно пытался настроить удалёное подключение к серверу через ssh(обычный комп с операционкой Ubuntu 16.04 LTS).
Проблема:
После какой операции перестал работать ssh.service? (не помню точно что я удалял: ssh или openssh)
sudo apt autoremove openssh
или
sudo apt autoremove ssh
После попытался установить openssh или ssh обратно:
sudo apt install openssh
или
sudo apt install ssh
Проверяю статус:
sudo service ssh status
Результат:
● ssh.service - OpenBSD Secure Shell server
Loaded: loaded (/lib/systemd/system/ssh.service; enabled; vendor preset: enabled)
Active: failed (Result: start-limit-hit) since Чт 2023-04-13 10:40:07 +04; 13min ago
Process: 4335 ExecStartPre=/usr/sbin/sshd -t (code=exited, status=1/FAILURE)
апр 13 10:40:07 am-B85-HD3 systemd[1]: Failed to start OpenBSD Secure Shell server.
апр 13 10:40:07 am-B85-HD3 systemd[1]: ssh.service: Unit entered failed state.
апр 13 10:40:07 am-B85-HD3 systemd[1]: ssh.service: Failed with result 'exit-code'.
апр 13 10:40:07 am-B85-HD3 systemd[1]: ssh.service: Service hold-off time over, scheduling restart.
апр 13 10:40:07 am-B85-HD3 systemd[1]: Stopped OpenBSD Secure Shell server.
апр 13 10:40:07 am-B85-HD3 systemd[1]: ssh.service: Start request repeated too quickly.
апр 13 10:40:07 am-B85-HD3 systemd[1]: Failed to start OpenBSD Secure Shell server.
апр 13 10:40:07 am-B85-HD3 systemd[1]: ssh.service: Unit entered failed state.
апр 13 10:40:07 am-B85-HD3 systemd[1]: ssh.service: Failed with result 'start-limit-hit'.
апр 13 10:40:21 am-B85-HD3 systemd[1]: Stopped OpenBSD Secure Shell server.
Вопрос:
1) Как понять из-за чего ошибка, чтобы в дальнейшем её попытаться исправить?
2) Можно ли вообще исправить данную ошибку и как? (но это наверное будет понятно после ответа на первый вопрос)
Если интересует зачем хотел переустановить ssh:
Пытался открыть порты и организовать подключение по определённому порту. Делал по всякому, но порт почему то не подвязывался к ssh подключению. В результате наткнулся на гореответ на одном из форумов, что нужно попробовать переустановить ssh. Теперь понимаю, что это было не лучее моё решение.
Получилось решить проблему.
Эта ссылочка может помочь:
https://itisgood.ru/2018/08/29/kak-reshit-oshibku-sub-process-usr-bin-dpkg-returned-an-error-code-1-v-ubuntu/
И эта:
https://askubuntu.com/questions/265982/unable-to-start-sshd
Главная проблема была в том, что при установке openssh-server, приложение dpkg завершало процесс установки с ошибкой:
При обработке следующих пакетов произошли ошибки:
openssh-server
E: Sub-process /usr/bin/dpkg returned an error code (1)
Решил следующим образом:
1) В директории /info лежит много файлов связанных с openssh-server:
ls -l /var/lib/dpkg/info | grep -i openssh-server
2) Их я удалил:
sudo mv /var/lib/dpkg/info/openssh-server.* /tmp
3) Проверяем статус сервера (он должен быть - inactive (dead)):
systemctl status sshd
4) Удаляем openssh-server:
sudo apt-get purge openssh-server
5) Убедившись, что при удалении ошибка dpbk не вылазит идём дальше
6) Я на всякий случай удалил ssh, но скорее всего это делать не обязательно:
sudo apt autoremove ssh
7) Теперь пришло время реконфигурации:
sudo dpkg --configure -a
8) Делаем update apt:
sudo apt update
9) Ну и ставим всё обратно:
sudo apt-get install -f openssh-server
sudo apt-get install -f ssh
10) Проверяем статус openssh-server:
systemctl status sshd
У меня всё заработало. Всем спасибо за помощь.
1) Как понять из-за чего ошибка, чтобы в дальнейшем её попытаться исправить?
Читать логи, /var/logs
2) Можно ли вообще исправить данную ошибку и как? (но это наверное будет понятно после ответа на первый вопрос)
Можно.
Самый быстрый путь, переустановка системы, более сложный, копаться в гугле, сходить на форум Ubuntu.
Пытался открыть порты и организовать подключение по определённому порту. Делал по всякому, но порт почему то не подвязывался к ssh подключению.
Что значит не подвязывался?
А что говорят на форуме Ubuntu?
Ошибка "start-limit-hit" означает, что сервис (в данном случае ssh.service) пытался запуститься слишком часто и достиг предела для попыток запуска за определенное время. Обычно это связано с ошибками в конфигурации сервиса или с его зависимостями.
Для того, чтобы понять, из-за чего возникла ошибка, нужно проверить логи сервиса, который находятся в системном журнале. Вы можете просмотреть журнал с помощью команды:
sudo journalctl -u ssh.service
Проверьте конфигурационные файлы ssh. Ошибки в конфигурации могут привести к ошибкам при запуске сервиса. Конфигурационные файлы для ssh находятся в /etc/ssh/.
Попробуйте перезагрузить сервер и запустить сервис заново:
sudo systemctl daemon-reload
sudo systemctl restart ssh.service
Если проблема все еще не решена, можно попробовать переустановить ssh полностью:
sudo apt-get remove --purge openssh-server
sudo apt-get install openssh-server
Обратите внимание, что при этом вы потеряете все настройки ssh, включая ключи и конфигурационные файлы. Поэтому, перед выполнением этой команды, рекомендуется сделать резервную копию всех необходимых файлов.