SSH sunucusu çalışmıyor (duruncaya kadar yeniden doğuyor)


12

Çalışan bir Ubuntu Server 10.04.1 sürümüm var. Sunucuya ssh ile giriş yapmaya çalıştığımda yapamadım. Bunun yerine connection refusedhata aldım . Makineye ping atmayı denedim ve cevap aldım! Yani, açık neden SSH artalan sürecinin durdurulmuş olmasıdır.

Yeniden başlattıktan sonra sunucuma ssh ile giriş yapabildim. Bir süre sonra günlüklerime baktım /var/log/syslogve aşağıdaki kayıtları buldum:

Jan 16 10:57:09 myserver init: ssh main process ended, respawning
Jan 16 10:57:09 myserver init: ssh main process (2465) terminated with status 255
Jan 16 10:57:09 myserver init: ssh main process ended, respawning
Jan 16 10:57:09 myserver init: ssh main process (2469) terminated with status 255
Jan 16 10:57:09 myserver init: ssh main process ended, respawning
Jan 16 10:57:09 myserver init: ssh main process (2473) terminated with status 255
Jan 16 10:57:09 myserver init: ssh main process ended, respawning
Jan 16 10:57:09 myserver init: ssh main process (2477) terminated with status 255
Jan 16 10:57:09 myserver init: ssh main process ended, respawning
Jan 16 10:57:09 myserver init: ssh main process (2481) terminated with status 255
Jan 16 10:57:09 myserver init: ssh main process ended, respawning
Jan 16 10:57:09 myserver init: ssh main process (2485) terminated with status 255
Jan 16 10:57:09 myserver init: ssh main process ended, respawning
Jan 16 10:57:09 myserver init: ssh main process (2489) terminated with status 255
Jan 16 10:57:09 myserver init: ssh main process ended, respawning
Jan 16 10:57:09 myserver init: ssh main process (2493) terminated with status 255
Jan 16 10:57:09 myserver init: ssh main process ended, respawning
Jan 16 10:57:09 myserver init: ssh main process (2497) terminated with status 255
Jan 16 10:57:09 myserver init: ssh main process ended, respawning
Jan 16 10:57:09 myserver init: ssh main process (2501) terminated with status 255
Jan 16 10:57:09 myserver init: ssh respawning too fast, stopped

Benzer bir sorun / çözüm aradım. Bazı insanlar bu ağ önce başlatmaya çalışırken Daemon SSH neden ve değişiklikten önermek olduğunu söyledi ListenAddressiçinde /etc/ssh/sshd_configolmak 0.0.0.0. Benim durumumda bunun nedeni olmadığını düşünüyorum, çünkü sorunum sistem açıldıktan ve çalıştıktan sonra ortaya çıkıyor.

Buna neyin sebep olduğuna dair fikri olan? Bu Ubuntu Sunucusudur ve SSH kullanarak uzaktan çalıştırılmalı ve erişilmelidir.

GÜNCELLEME:

İşte bulduğum günlük snippet'i /var/log/auth.log.

Jan 16 10:56:38 myserver sudo:     user : TTY=pts/0 ; PWD=/home/user ; USER=root ; COMMAND=/usr/bin/vim /etc/ssh/sshd_config
Jan 16 10:57:09 myserver sudo:     user : TTY=pts/0 ; PWD=/home/user ; USER=root ; COMMAND=/etc/init.d/ssh reload
Jan 16 10:57:09 myserver sshd[1465]: Received SIGHUP; restarting.
Jan 16 10:57:09 myserver sshd[2461]: Server listening on 0.0.0.0 port 22.
Jan 16 10:57:09 myserver sshd[2465]: error: Bind to port 22 on 0.0.0.0 failed: Address already in use.
Jan 16 10:57:09 myserver sshd[2465]: fatal: Cannot bind any address.
Jan 16 10:57:09 myserver sshd[2469]: error: Bind to port 22 on 0.0.0.0 failed: Address already in use.
Jan 16 10:57:09 myserver sshd[2469]: fatal: Cannot bind any address.
Jan 16 10:57:09 myserver sshd[2473]: error: Bind to port 22 on 0.0.0.0 failed: Address already in use.
Jan 16 10:57:09 myserver sshd[2473]: fatal: Cannot bind any address.
Jan 16 10:57:09 myserver sshd[2477]: error: Bind to port 22 on 0.0.0.0 failed: Address already in use.
Jan 16 10:57:09 myserver sshd[2477]: fatal: Cannot bind any address.
Jan 16 10:57:09 myserver sshd[2481]: error: Bind to port 22 on 0.0.0.0 failed: Address already in use.
Jan 16 10:57:09 myserver sshd[2481]: fatal: Cannot bind any address.
Jan 16 10:57:09 myserver sshd[2485]: error: Bind to port 22 on 0.0.0.0 failed: Address already in use.
Jan 16 10:57:09 myserver sshd[2485]: fatal: Cannot bind any address.
Jan 16 10:57:09 myserver sshd[2489]: error: Bind to port 22 on 0.0.0.0 failed: Address already in use.
Jan 16 10:57:09 myserver sshd[2489]: fatal: Cannot bind any address.
Jan 16 10:57:09 myserver sshd[2493]: error: Bind to port 22 on 0.0.0.0 failed: Address already in use.
Jan 16 10:57:09 myserver sshd[2493]: fatal: Cannot bind any address.
Jan 16 10:57:09 myserver sshd[2497]: error: Bind to port 22 on 0.0.0.0 failed: Address already in use.
Jan 16 10:57:09 myserver sshd[2497]: fatal: Cannot bind any address.
Jan 16 10:57:09 myserver sshd[2501]: error: Bind to port 22 on 0.0.0.0 failed: Address already in use.
Jan 16 10:57:09 myserver sshd[2501]: fatal: Cannot bind any address.

SSH arka plan programı yeniden yüklendikten sonra bu hatanın görünmeye başladığı anlaşılıyor. Bunun yerine kullanmaktan ssh reloadve kullanmaktan kaçınmalı mıyım ssh restart?


Yanıtlar:


7

SSH akmaya başlamadan hemen önce ne olduğunu kontrol etmelisiniz syslog. Ağ alt sistemi öldüyse, neden sshdbaşarısız olmaya başladığını açıklayabilir .

Ben de kontrol ederdim /var/log/auth.log. Bu sshdgünlük ve size daha iyi bir hata mesajı verebilir.


Teşekkürler! auth.logDosyada birçok giriş buldum ve sorumu güncelledim.
Khaled

reloadgeçerli bir işlem olmalıdır. Bu gerektiğini bir iç yeniden tetikleyebilir (ve sadece takılıp var olduğunu teşebbüs gibi görünüyor). Tekrar yüklemeyi deneyin ve tekrar takılıp takılmadığına bakın.
Oli

gerçekten, yeniden yükleme geçerli olmalı, ancak bir hata var. Daha fazla bilgi için cevabıma bakın.
SpamapS

16

Aynı problemi 12.04 kutumda da yaşadım. Aynı belirtiler. Ne yazık ki, ListenAddressmaddeyi inetve inet6adreslerini içeriyorken her zaman oldu sshd_config. Kısacası, sshd_configgünlük dosyaları böyle bir şey ifade etmese de, bu hatalı biçimlendirilmiş bir belirtidir .

Sorun giderme sshd

Bu tür durumlarda genellikle çok yararlı sshdbulduğum şey, arka plana izin vermeden başlamak . Benim durumumdaki sorun ne anlamlı ne syslogde auth.loghiçbir şey göstermemesiydi.

Terminalden başlattığımda:

# $(which sshd) -Ddp 10222
/etc/ssh/sshd_config line 8: address family must be specified before ListenAddress.

Çok daha iyi! Bu hata mesajı neyin yanlış olduğunu görmeme ve düzeltmeme izin verdi. Günlük dosyalarının hiçbiri bu çıktıyı içermiyordu.

Not: en azından Ubuntu'da, mutlak bir yol gereksinimini $(which sshd)karşılamak için en iyi yöntemdir sshd. Aksi aşağıdaki hatayı alırsınız: sshd re-exec requires execution with an absolute path. -p 10222Markaları sshdbu potansiyel çalışan çatışma kalmaması olduğunu - yapılandırma dosyasını geçersiz kılma, bu alternatif bağlantı noktası üzerinde dinleme sshdörnekleri. Burada ücretsiz bir liman seçtiğinizden emin olun.

Bu yöntem, kimlik doğrulama sorunları veya diğer türler gibi sorunları bulma konusunda birçok kez bana yardımcı oldu. Gerçekten ayrıntılı çıktı almak için stdoutkullanın $(which sshd) -Ddddp 10222( ddayrıntı düzeyini artırmak için eklenenlere dikkat edin ). Daha fazla hata ayıklama iyiliği kontrolü için man sshd.


Bu yöntemin ana avantajı , varsayılan bağlantı noktasında yeniden başlatmaya gerek kalmadan sshdyapılandırmayı kontrol etmenize izin vermesidir . Normalde bu mevcut SSH bağlantılarına müdahale etmemelidir, ancak gördüm. Böylece bu, uzak bir sunucuya erişimi kesmeden önce yapılandırma dosyasını doğrulamaya izin verir (örneğin, bazı VPS ve hatta bant dışı erişim için fazladan ödeme yapmam gereken fiziksel sunucular için buna sahibim) makineye).sshd


3
Direkt çağırma hileniz pastırmamı kurtardı. Ben sshd_config dosyasında (Chef oluşturulan) bu tekniği kullanarak çözmek mümkün bir hata vardı. Herkese göndermek için zaman ayırdığınız için teşekkürler.
Peter Laird

4

Bu, son zamanlarda natty ile düzeltilen ve önerilen bir güncelleme olarak hem maverick hem de berrak olarak yüklenen # 687535 hatasının sonucu gibi görünüyor.

https://bugs.launchpad.net/ubuntu/lucid/+source/openssh/+bug/687535

Herkesi oraya gitmeye, test durumunu deneyin (TEST CASE'i arayın) ve önerilen düzeltmeyi yüklemeden önce ve sonra sonuçlarınızı yayınlayın. Bu, SRU ekibinin doğrulamanın yapıldığına karar vermesine ve güncelleme olarak serbest bırakmasına yardımcı olacaktır.


2

İçinde /etc/ssh/sshd_config, tüm evet ve hayır seçeneklerinin küçük harf olduğundan emin olun. Örneğin, ayarlarsanız PermitRootLogin No, ssh başlamaz. Aslında olmalı PermitRootLogin no.


1

Yeniden başlattıktan sonra bir Linode üzerinde Ubuntu 11.10 görüntüsü ile benzer bir sorun yaşadım. ssh hizmeti syslog içinde üretecekti:

Mar 18 06:31:33 servername kernel: init: ssh main process ended, respawning
Mar 18 06:31:33 servername kernel: init: ssh main process (3419) terminated with status 255
Mar 18 06:31:33 servername kernel: init: ssh main process ended, respawning
Mar 18 06:31:33 servername kernel: init: ssh main process (3422) terminated with status 255
Mar 18 06:31:33 servername kernel: init: ssh respawning too fast, stopped

Bu bir test kutusu ve yaklaşık 60 gün çalışma süresi vardı, bu yüzden yol boyunca bir yere, sshd_config altına eklenmiş bir şey yükledim:

ClientAliveInterval 60
ClientCountAliveMax 60

Bu satırları yorumlamak ssh'ın başlamasına izin verdi.


0

Ubuntu ssh başlamaz ve syslog, "init: ssh ana işlem (2044) durum 255 ile sonlandırılır" sonucunu verdi.

/ usr / sbin / sshd -Ddp 10222

Tabii sshd_config satır hatası belirlemek benim için çalıştı


-1

aynı sorunu var, üst çözüm işe yaramıyor, ama bunun için çözümüm var.

root@imt:~# sshd
sshd re-exec requires execution with an absolute path
ssh localhost
ssh: connect to host localhost port 22: Network is unreachable

Yol belge başına Tamam, bu yüzden el ile sshd çalıştırın.

root@imt:~# /usr/sbin/sshd 
/var/run/sshd must be owned by root and not group or world-writable

/ var / run / sshd iznidir.

root@imt:~# ls -ld /var/run/sshd
drwsrwsrwt 2 root root 40 Jan  5 12:58 /var/run/sshd

root@imt:~# chmod 755 /var/run/sshd

sonra iyi. ssh localhost'u çalıştırın ve kontrol edin.

root@imt:~# ssh localhost 
The authenticity of host 'localhost (127.0.0.1)' can't be established.
RSA key fingerprint is 64:93:fd:ab:4c:f9:7b:8a:86:60:22:f7:56:fa:ea:cc.
Are you sure you want to continue connecting (yes/no)? yes

1
Bu yararlı bir rehber olsa sshdda, günlüklerindeki çok farklı hata mesajlarından da görebileceğiniz gibi, OP'nin düzgün çalışmamasına neden olan şey açık değildir . -1
David Foerster
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.