sshd servisi başlatılamıyor


27

Neden başlamadığını veya neden bağlanmamı engellediğinden emin değilim, bu hatayı alıyorum:

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'in tavsiyesi üzerine, anahtarın üretilmediğini belirten sshd -t komutunu çalıştırdım. Bunu ssh-keygen -A kullanarak bu forumda verilen tavsiyelere göre oluşturduktan sonra systemctl durumunu çalıştırarak hala Daemon'u çalıştırmadığımı gösterdi. Aşağıdaki hatayı ekledim, ne yazık ki bilmiyorum ho sshd-t'yi yeniden çalıştırmak artık mesaj vermiyor.

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.

Yanıtlar:


31

Sshd -t'yi (sshd test modu) deneyin. Sizi başarısızlığın bir nedeni olarak gösterebilir.

Buradaki test modu belgelerine bakın .


15

Sorun, bizim durumumuzda SSH için standart dışı bir port kullanmaktı. SELinux, hangi portların bir servis tarafından kullanılabileceğini kısıtlayabilir. Anlaşılan bazen kafası karışıyor ve bu limana izin verdiğimizi mi unuttun?

Portumuzu (22222) mevcut portlar listesine eklemek için aşağıdaki komutu vermemiz gerekiyordu

semanage port -a -t ssh_port_t -p tcp 22222

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


8

SSH port numarasını değiştirirseniz, CentOS 7’de biraz daha işlem yapmanız gerekir.

SSH port düzenleme ssdh_config dosyasını değiştirin

vi /etc/ssh/sshd_config

Örneğin, şuna değiştiriniz: 2323 Port

SELINUX sadece 22 numaralı portu ssh için izin verir. 2323 numaralı yeni bağlantı noktası bağlamını ekleyin. Henüz yüklemediyseniz, aşağıdakileri yapın.

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

Ssh için port içeriğini kontrol edin

semanage port -l | grep ssh

SSHD hizmetini yeniden başlatın

systemctl restart sshd.service

Bağlantı noktasını güvenlik duvarına ekle

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

Güvenlik duvarını yeniden yükle

firewall-cmd --reload

Dinlemeyi kontrol et

ss -tnlp|grep ssh

Ssh ile tekrar bağlanmayı deneyin

ssh root@<ipaddr> -p 2323

3

Ben de bu sorunu yaşadım ama çözdüm. Konfigürasyonum aşağıda.

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

Hizmet başlatılamadı, bu yüzden son satırı henüz yorumlamıştım ( #ListenAddress 192.168.1.23) sonra sunucum başarılı bir şekilde başladı.

Not: Güvenlik duvarını (iptables) ve SELinux'u kapattım.


2

Aşağıdaki ayarı kullanmayı deneyebilirsiniz:

RestartSec=5s

Bu, uygulamanızı yeniden başlatma denemesinden önce 5 saniye boyunca uykuya zorlar. Açıkça ayar sayısını değiştirebilirsiniz.

Detaylar için buraya bakınız:


Bu cevabı reddettim, çünkü sorunun asıl hizmet değil (OP durumunda sshd) sistemdeyken sorunun nasıl çözüleceği hakkında yararlı bilgiler içeriyordu. Restart = 'ı içeren hizmetlerim oldu; daima başarısız olur ve birkaç kez yeniden başlatılmaz. Bu cevap aslında bu sorunu systemd ile çözebilir. (Olursa da doğrudan OP sorusuyla ilgili değildir).
MattBianco

1

Cannot bind any address

1024'ün altındaki bir bağlantı noktasına (örneğin, varsayılan olarak: 22) bağlanmaya çalışırsa, bunu yapmak için kök ayrıcalığına ihtiyacı vardır. Koşmuş service sshd startveya kök gibi bir şey mi yaptınız ? Sshd.conf yapılandırma dosyasını düzenlemeyi deneyin, bağlantı adresini 1024'ten büyük bir bağlantı noktasına ayarlayın (örn. 1122) ve basit bir kullanıcı olarak çalıştırın!


1

Aynı problemi yaşadım ve karşılaştığım en kolay çözüm, opensshonu tekrar kaldırmak ve kurmaktı.

 yum remove openssh

ve sonra:

 yum install openssh openssh-server openssh-clients

o zaman sshdservisi başlatabilirsiniz :

 service sshd start

-1

Bende de aynı problem vardı. Sadece SELinux devre dışı!


-1

Sadece bunu takip et.

mkdir -p /var/run/sshd

ve

/usr/sbin/sshd -ddd

Bu sorununuzu çözmelidir.


1
Bu neden OP'nin sahip olduğu problem için bir çözüm olsun?
HBruijn

1
OpenVZ'de de benzer bir sorunum var. Bunu çözmek için bunu takip ettim.
Aman Juman
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.