Не вдалося запустити службу sshd


27

Я не впевнений, чому він не запускається або чому це заважає мені підключатися, я отримую цю помилку:

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. Я долучив помилку нижче, на жаль, я не знаю, хоч Повторний запуск 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.

Відповіді:


31

Спробуйте sshd -t (тестовий режим sshd). Це може вказати на причину невдачі.

Зверніться до документації в режимі тестової тут .


15

Проблема в нашому випадку полягала в тому, що ми використовуємо нестандартний порт для 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/


8

Добре, якщо ви зміните номер порту 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

3

У мене теж була ця проблема, але її вирішили. Моя конфігурація наведена нижче.

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

Сервіс не вдалося запустити, тому я щойно прокоментував останній рядок ( #ListenAddress 192.168.1.23), після чого мій сервер успішно запустився.

Примітка. Я вимкнув брандмауер (iptables) та SELinux.


2

Ви можете спробувати скористатися наступним налаштуванням:

RestartSec=5s

Це змусить вашу програму спати протягом 5 секунд до спроби перезапуску. Ви, очевидно, можете змінювати кількість налаштувань.

Детальніше дивіться тут :


Я відповів на цю відповідь, оскільки вона містить корисну інформацію про те, як виправити проблему, коли проблема в системному режимі, а не фактична служба (sshd у випадку з ОП). У мене були служби з перезапуском = завжди виходять з ладу і не перезапускаються кілька разів. Ця відповідь може насправді вирішити цю проблему з systemd. (Хоча це не пов'язане безпосередньо з питанням про ОП).
MattBianco

1

Cannot bind any address

Якщо вона намагається прив’язати до порту (наприклад, за замовчуванням: 22) нижче 1024, для цього йому потрібна коренева привілей. Ви бігли service sshd startчи щось подібне як root? Спробуйте відредагувати файл конфігурації sshd.conf, встановіть адресу прив'язки до порту, що перевищує 1024 (наприклад, 1122) та запустіть його як простий користувач!


1

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

 yum remove openssh

і потім:

 yum install openssh openssh-server openssh-clients

тоді ви можете розпочати sshdслужбу:

 service sshd start


-1

Просто слідкуйте за цим,

mkdir -p /var/run/sshd

і

/usr/sbin/sshd -ddd

Це має вирішити вашу проблему.


1
Чому це повинно бути вирішенням проблеми, яку мала ОП?
HBruijn

1
У мене подібний випуск у OpenVZ. Я слідував за цим, щоб вирішити проблему.
Аман Джуман
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.