layanan sshd gagal untuk memulai

27

Saya tidak yakin mengapa itu tidak memulai atau mengapa itu mencegah saya untuk terhubung, saya mendapatkan kesalahan ini:

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.

Atas saran #amrith saya menjalankan sshd -t yang mengindikasikan bahwa kuncinya belum dihasilkan. Saya membuat ini menggunakan ssh-keygen -A atas saran yang diberikan di forum ini kemudian menjalankan status systemctl menunjukkan bahwa saya masih tidak menjalankan Daemon. Saya telah melampirkan kesalahan di bawah ini, sayangnya saya tidak tahu ho Re-running sshd -t tidak memberikan pesan sekarang.

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.
aCoolBean
sumber

Jawaban:

31

Coba sshd -t (mode uji sshd). Ini mungkin mengarahkan Anda ke alasan kegagalan.

Lihat dokumentasi mode uji di sini .

amrith
sumber
15

Masalahnya, dalam kasus kami adalah bahwa kami menggunakan port non-standar untuk SSH. SELinux dapat membatasi port mana yang dapat digunakan oleh suatu layanan. Tampaknya kadang-kadang jadi bingung dan lupa bahwa kami telah mengizinkan port itu?

Kami harus mengeluarkan perintah berikut untuk menambahkan port kami (22222) ke daftar port yang tersedia

semanage port -a -t ssh_port_t -p tcp 22222

Referensi: http://sharadchhetri.com/2014/10/15/centos-7-rhel-7-change-openssh-port-number-selinux-enabled/

Tommy McNeely
sumber
8

Nah jika Anda mengubah nomor port SSH Anda harus melakukan beberapa hal lagi di CentOS 7.

Ubah file ssdh_config pengeditan port SSH

vi /etc/ssh/sshd_config

Misalnya, ubah ke: Port 2323

SELINUX hanya mengizinkan port 22 untuk ssh. Tambahkan konteks port baru 2323. Jika Anda belum menginstal lakukan hal berikut

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

Periksa konteks port untuk ssh

semanage port -l | grep ssh

Mulai ulang layanan SSHD

systemctl restart sshd.service

Tambahkan port ke firewall

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

Muat ulang firewall

firewall-cmd --reload

Periksa mendengarkan

ss -tnlp|grep ssh

Coba sambungkan lagi melalui ssh

ssh root@<ipaddr> -p 2323
Slipstream
sumber
3

Saya juga punya masalah ini tetapi menyelesaikannya. Konfigurasi saya di bawah.

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

Layanan gagal memulai jadi saya baru saja berkomentar di baris terakhir ( #ListenAddress 192.168.1.23) lalu server saya mulai berhasil.

Catatan: Saya telah mematikan firewall (iptables) dan SELinux.

ravikanth
sumber
2

Anda mungkin ingin mencoba menggunakan pengaturan berikut:

RestartSec=5s

Itu akan memaksa aplikasi Anda untuk tidur selama 5 detik sebelum upaya restart. Anda jelas dapat memvariasikan jumlah pengaturan.

Lihat di sini untuk detail:

Boris Epstein
sumber
Saya memutakhirkan jawaban ini, karena berisi informasi yang berguna tentang cara memperbaiki masalah ketika masalahnya ada di systemd dan bukan layanan yang sebenarnya (sshd dalam kasus OP). Saya memiliki layanan dengan restart = selalu gagal dan tidak dapat dimulai kembali, beberapa kali. Jawaban ini mungkin benar-benar menyelesaikan masalah itu dengan systemd. (Walaupun itu tidak terkait langsung dengan pertanyaan OP).
MattBianco
1

Cannot bind any address

Jika ia mencoba mengikat ke port (mis. Secara default: 22) di bawah 1024, ia perlu hak akses root untuk melakukan itu. Apakah Anda menjalankan service sshd startatau sesuatu seperti itu sebagai root? Coba edit file konfigurasi sshd.conf, atur alamat bind ke port yang lebih besar dari 1024 (mis. 1122) dan jalankan sebagai pengguna sederhana!

David Lakatos
sumber
1

Saya memiliki masalah yang sama dan solusi termudah yang saya alami adalah menghapus opensshdan menginstalnya lagi.

 yum remove openssh

lalu:

 yum install openssh openssh-server openssh-clients

maka Anda dapat memulai sshdlayanan:

 service sshd start
Ali Hashemi
sumber
0

Saya memiliki masalah yang sama. Hanya menonaktifkan SELinux!

tquang
sumber
-1

Ikuti saja ini,

mkdir -p /var/run/sshd

dan

/usr/sbin/sshd -ddd

Ini akan memperbaiki masalah Anda.

Aman Juman
sumber
1
Mengapa itu harus menjadi solusi untuk masalah OP?
HBruijn
1
Saya memiliki masalah serupa di OpenVZ. Saya mengikuti ini untuk memperbaiki masalah.
Aman Juman