Вопрос: Служба sshd не запускается


Я не уверен, почему это не начинается или почему это мешает мне подключиться, я получаю эту ошибку:

sshd.service - OpenSSH Daemon
    Loaded: loaded (/usr/lib/systemd/system/sshd.service; enabled)
   Active: failed (Result: start-limit) since Wed 2013-09-11 08:45:13 BST; 1min 21s ago
  Process: 701 ExecStart=/usr/bin/sshd -D (code=exited, status=1/FAILURE)

Sep 11 08:45:13 alarmpi systemd[1]: sshd.service: main process exited, code=exited, status=1/FAILURE
Sep 11 08:45:13 alarmpi systemd[1]: Unit sshd.service entered failed state.
Sep 11 08:45:13 alarmpi systemd[1]: sshd.service holdoff time over, scheduling restart.
Sep 11 08:45:13 alarmpi systemd[1]: Stopping OpenSSH Daemon...
Sep 11 08:45:13 alarmpi systemd[1]: Starting OpenSSH Daemon...
Sep 11 08:45:13 alarmpi systemd[1]: sshd.service start request repeated too quickly,    refusing to start.
Sep 11 08:45:13 alarmpi systemd[1]: Failed to start OpenSSH Daemon.
Sep 11 08:45:13 alarmpi systemd[1]: Unit sshd.service entered failed state.

По совету #amrith я запустил sshd -t, указав, что ключ не был сгенерирован. Я сгенерировал это с помощью ssh-keygen-A по рекомендации, приведенной в этом Форум то запуск состояния systemctl показал, что я все еще не запускаю Daemon. Я приложил ошибку ниже, к сожалению, я не знаю. Ho Re-running sshd -t теперь не дает сообщений.

sshd.service - OpenSSH Daemon
   Loaded: loaded (/usr/lib/systemd/system/sshd.service; enabled)
   Active: inactive (dead)

Sep 11 12:04:42 alarmpi systemd[1]: Started OpenSSH Daemon.
Sep 11 12:04:42 alarmpi sshd[289]: fatal: Cannot bind any address.
Sep 11 12:04:42 alarmpi systemd[1]: sshd.service: main process exited, code=exited, status=255/n/a
Sep 11 12:04:42 alarmpi systemd[1]: Unit sshd.service entered failed state.
Sep 11 12:04:42 alarmpi systemd[1]: sshd.service holdoff time over, scheduling restart.
Sep 11 12:04:42 alarmpi systemd[1]: Stopping OpenSSH Daemon...
Sep 11 12:04:42 alarmpi systemd[1]: Starting OpenSSH Daemon...
Sep 11 12:04:42 alarmpi systemd[1]: sshd.service start request repeated too quickly, refusing to start.
Sep 11 12:04:42 alarmpi systemd[1]: Failed to start OpenSSH Daemon.
Sep 11 12:04:42 alarmpi systemd[1]: Unit sshd.service entered failed state.

23
2017-09-11 10:22


Источник




Ответы:


Попробуйте sshd -t (тестовый режим sshd). Это может указывать на причину неудачи.

См. Документацию в режиме тестирования Вот,


21
2017-09-11 10:45



Я не знал о sshd -t, он решил некоторые вещи. Я видел, что ключей нет, поэтому я сгенерировал их, но не купил при перезагрузке и перезагрузке. - aCoolBean
Это сработало для меня, я получил строку «/ etc / ssh / sshd_config 97: Bad SSH2 mac spec ...». - jeremiah
Это помогает выяснить недостающие требуемые зависимости. Благодаря! - Ivan Chau


Проблема в нашем случае заключалась в том, что мы используем нестандартный порт для SSH. SELinux может ограничить, какие порты могут использоваться службой. По-видимому, иногда это путается и забывает, что мы допустили этот порт?

Нам пришлось выпустить следующую команду, чтобы добавить наш порт (22222) в список доступных портов

semanage port -a -t ssh_port_t -p tcp 22222

Справка: http://sharadchhetri.com/2014/10/15/centos-7-rhel-7-change-openssh-port-number-selinux-enabled/


11
2017-10-16 17:38



Должен быть semanage port -a -t ssh_port_t -p tcp 22222 - FrankerZ
Я просто отредактировал комментарий @FrankerZ, так как ответ бесполезен в противном случае. - dreua


Хорошо, если вы измените номер порта SSH, вам нужно сделать еще кое-что в CentOS 7.

Изменение файла порта SSH ssdh_config

vi /etc/ssh/sshd_config

Например, измените на: Порт 2323

SELINUX разрешает только порт 22 для ssh. Добавить новый контекст порта 2323. Если вы не установили, выполните следующие действия.

yum -y install policycoreutils-python
semanage port -a -t ssh_port_t -p tcp 2323

Проверьте контекст порта для ssh

semanage port -l | grep ssh

Перезапустить службу SSHD

systemctl restart sshd.service

Добавить порт в брандмауэр

firewall-cmd --permanent --zone=public --add-port=2323/tcp

Перезагрузка

firewall-cmd --reload

Проверить прослушивание

ss -tnlp|grep ssh

Попробуйте снова подключиться через ssh

ssh root@<ipaddr> -p 2323

6
2018-01-22 15:03





У меня также была эта проблема, но она была решена. Моя конфигурация ниже.

PermitRootLogin no
port 22
MaxAuthTries 3
MaxSessions 2
AllowUsers ravikanth
AddressFamily any
ListenAddress 192.168.1.23

Служба не запускалась, поэтому я только что прокомментировал последнюю строку (#ListenAddress 192.168.1.23), то мой сервер начал успешно.

Примечание. Я отключил брандмауэр (iptables) и SELinux.


3
2018-06-02 05:52





Cannot bind any address

Если он пытается привязать к порту (например, по умолчанию: 22) ниже 1024, для этого требуется привилегия root. Вы запустили service sshd start или что-то вроде этого как root? Попробуйте отредактировать конфигурационный файл sshd.conf, установите адрес привязки на порт более 1024 (например, 1122) и запустите его как простой пользователь!


1
2017-09-11 12:04





Вы можете попробовать использовать следующую настройку:

RestartSec=5s

Это заставит ваше приложение спать в течение 5 секунд до попытки перезапуска. Очевидно, вы можете изменить количество настроек.

Видеть Вот для деталей:


1
2017-10-27 20:18



Я поддержал этот ответ, потому что он содержит полезную информацию о том, как исправить проблему, когда проблема находится в systemd, а не фактическая служба (sshd в случае OP). У меня были службы с перезапуском = всегда сбой и не перезапускался несколько раз. Этот ответ может действительно решить эту проблему с помощью systemd. (Хотя это напрямую не связано с вопросом ОП). - MattBianco


У меня была та же проблема, и самым простым решением, которое я получил, было удаление openssh и установите его снова.

 yum remove openssh

а потом:

 yum install openssh openssh-server openssh-clients

то вы можете начать sshd оказание услуг:

 service sshd start

1
2018-03-16 15:24