14.04 sunucusunu yeniden başlattıktan sonra SSH sorunlarına ne sebep olur?


15

Ubuntu 14.04 çalıştıran bir sunucuyu yeniden başlatmak neden bana 'Bağlantı reddedildi' hataları veriyor?

ssh: connect to host <IP-address-here> port 22: Connection refusedSadece 14.04 için ve sadece yeniden başlattıktan sonra görüyorum . Evde 12.04 Masaüstü kullanıyorum. Bu sorunu nasıl giderebilirim?


Soruyu daha açık hale getirmek için, benim için neyin işe yarayıp yaramadığı aşağıda açıklanmıştır:

  • SSH yeni bir 12.04 kurulumu> oturum kapatma> tekrar SSH> çalışıyor
  • SSH yeni bir 12.04 kurulumuna> yeniden başlat> SSH tekrar> çalışıyor
  • SSH 14.04 yeni kurulum içine> çıkış> tekrar SSH> çalışır
  • Yeni bir 14.04 yüklemesine SSH> yeniden başlat> SSH tekrar> Bağlantı reddedildi

Yaşadığım sorun 14.04'e özgü ve sadece yeniden başlattıktan sonra oluyor. Bundan önce 12.04 çalışan birkaç sunucum var ve her şey hala mükemmel çalışıyor. 14.04 kullanmak istediğim yeni bir sunucum var ve neyin yanlış gittiğini anlamak istiyorum. Herhangi bir öneri?


İşte şimdiye kadar denedim:

sudo traceroute -p 22 -T <IP-address-here>

Traceroute iyi çalışıyor, SSH bağlantı noktası 22 sunucudan bir yanıt alıyorum.

initctl list
...
ssh start/running, process 23371
...

14.04 sunucusundaki ssh, önyüklemede başlayacak şekilde ayarlanmış gibi görünüyor (beklendiği gibi).

tom@Desktop:~$ ssh -vvv root@<IP-address-here>
OpenSSH_5.9p1 Debian-5ubuntu1.4, OpenSSL 1.0.1 14 Mar 2012
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 19: Applying options for *
debug2: ssh_connect: needpriv 0
debug1: Connecting to <IP-address-here> [<IP-address-here>] port 22.
debug1: connect to address <IP-address-here> port 22: Connection refused
ssh: connect to host <IP-address-here> port 22: Connection refused

Düzenleme: İşte yeni oluşturulan bir makineden tüm syslog . Onu oluşturdum, SSH'd ve verilen reboot nowkomut, daha sonra yeniden başlatılmasını ve ikinci kez SSH'ye çalışmayı bekledikten sonra bağlantı reddedildi hatası aldı. Barındırma kontrol paneli üzerinden yeniden başlatma ve şimdi SSH bağlantısı tekrar çalışıyor.


Benzer bir sorunum var, ama çok farklı bir bağlamda. Görünüşe göre bir şey değişti, ama ne olduğunu anlayamıyorum. Udev ile değişiklikler olduğunu biliyorum, ama tam olarak nasıl olacağını göremiyorum, çünkü ağ düzgün çalışıyor gibi görünüyor. Sadece sshd zahmetlidir.
Jo-Erlend Schinstad

1
@ Jo-ErlendSchinstad Bugün 2 saatimi AWS, DigitalOcean ve OVH sunucularıyla test ederek geçirdim ve zamanın% 100'ünü çoğaltabilirim. 12.04 = tamam, 14.04 = yeniden başlattıktan sonra SSH yok. Bu bir hata olsaydı biz onların sunucuları kilitli diğerlerinden işitme bekliyoruz! Umarım bir şeye bakmıyorum ama yeniden başlatmak için yeni bir kurulum + tek SSH girişiyle, burada insan hatası için fazla yer yok. Sadece 14.04 dizüstü bilgisayarımdan test ettim (bu 12.04 bir şey olması durumunda) ve değişiklik yok, aynı sonuç. Gerçekten yakında anlamaya umut ...
Tom Brossman

1
Oh, hiç sorun olmadan sshd çalışan birçok sunucu var. Bahsettiğim
Jo-Erlend Schinstad

Yanıtlar:


17

Hızlı cevap:

Sorun SSH değil. Yeniden başlatmak için kullandığınız komut sorun: yapma reboot now, yapma rebootveyashutdown -r now sisteminizi yeniden başlatmak için.

Komut sözdizimi ( 13.04'ten beri ):

reboot [OPTION]...  [REBOOTCOMMAND]

Daha REBOOTCOMMANDönce hiç yoktu. 12.04'te,now göz ardı edildi ama şimdi kullanılıyor ... Ve her şeyi kırıyor.

Test sonuçlarım ve açıklamamla uzun cevap:

14.04 VE VPS (Fransız OVH sağlayıcı - OpenVZ çalışan barındırılan) barındırılan reboot nowve sunucunun içinde yaparken bazı sunucular ile benzer bir sorun var .

Senin gibi komutu reboot nowkonsoldan verdim (SSH kullanarak giriş yaptım ). Bastıktan birkaç saniye sonra RETURNoturumumun bağlantısı otomatik olarak kesiliyor. Sizin gibi, bu komutu verdikten sonra SSH üzerinden sunucuya hiç bağlanamadım.

Bu yüzden OVH tarafından sağlanan KVM konsolunu açmaya karar verdim. (bu tür bir sanal sunucu için fiziksel bir sunucuda klavye ve ekran kullanarak doğrudan erişimi taklit etmek).

Makineme bağlanabildim ve Tek Kullanıcı Moduna girdiğini gördüm, devam etmek için CTRL+ tuşuna Dbasmamı veya bakım moduna geçmek için root şifresini girmemi bekledim. İşlemin devam etmesine izin vermek için tuş kombinasyonuna bastım ve daha sonra sistemime tekrar SSH yapabildim. Koştuktan sonra uptime, çalışma süresinin 2 veya 3 dakika değil, ancak çok fazla gün olduğunu görmek benim için ne oldu?reboot now bir Ubuntu 14.04 VPS içinde yürütülen gerçekten yeniden başlatılamıyor ama sadece Tek Kullanıcı moduna geçmeyi istiyor!

Bundan sonra, VPS'imden hiçbir zaman yeniden başlatma istemeyi, ancak sunucunun yönetim arayüzünde sağlanan komuttan istemeyi öğrendim.

Bu nedenle SSH kurulumunuzda bir sorun yoktur. Sorun yazarken ortaya çıkıyor reboot now. Aslında, daha sonra da test ettim, eğer yazmış olsaydınızreboot (sadece kelime, seçenek yok), yapmak istediğiniz şeyi yapardı: sunucuyu yeniden başlatın.

Kullanılması reboot(Adam sayfasından) bir argümanla komutu çağırır shutdownverilen argümanlar ile. Ve gerçekten, yürütürsem shutdown now, aynı davranışa sahibim: sistem yeniden başlatılmaz, tek kullanıcı moduna geçer.

Not: Bu komutu yürüttükten sonra ekranda görünen mesajın şöyle bir şey söylediği gibi amaçlanan davranış gibi görünüyor:

Sistem bakım moduna getirilecek

Bakım modu veya tek kullanıcı modu, bu aynı, bir kabuktan daha fazla, ağ yok, ağ süreci yok ...

Bu kafa karıştırıcı olabilir, ancak doğru kullanımının shutdownörneğin shutdown -h nowsistemi şimdi durdurmak veya şimdi shutdown -r nowyeniden başlatmak olduğunu unutmayın. shutdown nowSistemi yalnızca tek kullanıcı moduna getireceğinin farkında değildim . Bunu init Sbaşarmak için genellikle yaparım .


Bu en ilginç cevap için teşekkürler! Özel bir sunucuda (VPS değil) olduğum için şimdi tüm bunları test edeceğim, ancak 14.04 ve 12.04 değil sürece her iki tipte de sorun yaşadım. sudo reboot now12.04'te mükemmel çalışıyor ve uptimeson yaptığım zamana karşılık geliyor. 14.04 için çok ilginç bir değişiklik olsa.
Tom Brossman

1
sunucuyu 14.04.1'e güncelledikten sonra tam olarak aynı sorunu yaşıyor ve yeniden başlatma sorunu çözmüyor.
chhantyal

Bu benim için düzeltildi. El ile sunucuyu yeniden başlatmak zorunda kaldı. Vay canına, bu çok sinir bozucu! Neden dünyadaki tek kullanıcı moduna eşit olacak? Ne aptalca bir seçim. Neden sudo reboot --single-userbu işlevselliği elde edemiyorsunuz ???
jcollum

2

Geç kalabilir ve açık olabilir, ama benim için işe /etc/ssh/sshd_configyarayan yapılandırma dosyasını kontrol etmekti : arka plan programını /etc/init.d/ssh startveya başka bir kombinasyonu çalıştırmak, hizmetin olmasa da çalıştığını gösterdi, ancak yürütülebilir dosyayı çalıştırırsam onun mutlak yolu (benim durumumda /usr/sbin/sshd) yapılandırma dosyasının sonuna eklenirken hataya neden olan bir "0B" olduğunu gördüm, kaldırılması sorunu çözdü.


Çok kullanışlı - benim durumumda dosyanın başında hatalı bir karakter yazmıştım. Yapılandırmada bir sorun varsa hiçbir hatanın nasıl atıldığı çok gizemli ve çalışan bir işlem olmasa bile her şey başlıyor gibi görünüyor.
Andrew Mao

2

Başka bir olası neden ufwSSH bağlantı noktası kural yapılandırmasını kaybetmektir. Bu, en az bir veya iki kez gerçekleşti, burada güncellemeleri uyguladıktan ve yeniden başlattıktan sonra, güvenlik duvarı yapılandırması sunucuya erişmemi engelliyordu. Hosting sağlayıcımın VPS konsol tesisini kullanmak, makineye girmeme ve sorunu teşhis etmeme izin verdi. Aşağıdaki sorunu gösteren örnek (bağlantı noktası 22 için giriş yok):

user@host:~$ sudo ufw status verbose
[sudo] password for user:
Status: active
Logging: on (low)
    Default: deny (incoming), allow (outgoing), disabled (routed)
New profiles: skip

To                         Action      From
--                         ------      ----
80,443/tcp (Nginx Full)    ALLOW IN    Anywhere
25/tcp                     ALLOW IN    Anywhere
143                        ALLOW IN    Anywhere
110                        ALLOW IN    Anywhere
993/tcp (Dovecot Secure IMAP) ALLOW IN    Anywhere
995/tcp (Dovecot Secure POP3) ALLOW IN    Anywhere
25/tcp (Postfix)           ALLOW IN    Anywhere
465/tcp (Postfix SMTPS)    ALLOW IN    Anywhere
80,443/tcp (Nginx Full (v6)) ALLOW IN    Anywhere (v6)
25/tcp (v6)                ALLOW IN    Anywhere (v6)
143 (v6)                   ALLOW IN    Anywhere (v6)
110 (v6)                   ALLOW IN    Anywhere (v6)
993/tcp (Dovecot Secure IMAP (v6)) ALLOW IN    Anywhere (v6)
995/tcp (Dovecot Secure POP3 (v6)) ALLOW IN    Anywhere (v6)
25/tcp (Postfix (v6))      ALLOW IN    Anywhere (v6)
465/tcp (Postfix SMTPS (v6)) ALLOW IN    Anywhere (v6)

Bağlantı noktasını aşağıdaki gibi yeniden etkinleştirmek hile yapar:

user@host:~$ sudo ufw allow ssh
Rule added
Rule added (v6)

-1

Sistemim için sorun, ssh init betiğinin init'in /etc/init.d/sshuptart sürümünün varlığını kontrol eden tek kod olmasıydı.

Yani /etc/init.d/sshbaşlamıyor ssh,çünküupstart .

Benim durumumda, belirli bir yapılandırma nedeniyle uptart başlamıyor:

İçinde doğru bir yapılandırma vardı /etc/init/ssh.conf, ancak bir /etc/init/ssh.overridedosya da vardı manual, bu da sshmanuel olarak başlatılması bekleniyor.

Bu dosya get-remnux.shyükleme komut dosyası tarafından oluşturuldu .

Manuel olarak başlatmak veya /etc/init/ssh.overridedosyayı kaldırmak sorunu çözer.

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.