SSH Bağlantı Hatası: ssh_exchange_identification: read: Eş tarafından bağlantıyı sıfırla


25

Sunucuya SSH ile bağlanmaya çalıştığımda aşağıdaki hatayı alıyorum,

[root@oneeighty ~]# ssh -vvv -p 443 root@xxx.xxx.xxx
OpenSSH_4.3p2, OpenSSL 0.9.8e-fips-rhel5 01 Jul 2008
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: Applying options for *
debug2: ssh_connect: needpriv 0
debug1: Connecting to xxx.xxx.xxx [IP] port 443.
debug1: Connection established.
debug1: permanently_set_uid: 0/0
debug1: identity file /root/.ssh/identity type -1
debug1: identity file /root/.ssh/id_rsa type -1
debug1: identity file /root/.ssh/id_dsa type -1
debug1: loaded 3 keys
ssh_exchange_identification: read: Connection reset by peer

Sunucu ve istemcideki SSH yapılandırmasını kontrol ettim ve sorun yok.

Sunucudaki SSH Hizmetini yeniden başlattıktan sonra sunucuyu / istemciyi yeniden başlattınız, ancak sorunlar çözülmedi.


Güvenlik duvarı ile ssh bağlantısına izin verebilirsiniz Kullanıcı arayüzü (bazı sağlayıcılar buna izin verir) veya oturum açmak için alternatif bir yönteminiz varsa (Örn. Digitalocean bir konsol düğmesi sağlar) altında sudo ufw komutunu çalıştırabilirsiniz ssh sudo ufw allow 22
BSB

Yanıtlar:


26

Bu bir çok şeyin sonucu olabilir.

Hızlıca deneyebileceğiniz çok az şey şunlardır:

  • Gibi herhangi bir giriş için /etc/hosts.deny bakın sshd: ALL
  • Belki de eklemek sshd: ALLiçin/etc/hosts.allow

  • SSHD'nizin HostKey'leri bozuk olabilir. / Etc / ssh / dizininde bulunurlar. Bunları silebilir ve sshd'yi yeniden başlatabilirsiniz ve yeniden oluşturacaktır. Hata vermesi durumunda, lütfen aşağıdaki komutları kullanın.

    $ ssh-keygen -t rsa -f /etc/ssh/ssh_host_rsa_key
    $ ssh-keygen -t dsa -f /etc/ssh/ssh_host_dsa_key
    $ ssh-keygen -t ecdsa -f /etc/ssh/ssh_host_ecdsa_key
    $ /etc/init.d/sshd start
    

/etc/hosts.deny ve /etc/hosts.allow dosyalarında tüm satırlar yorumlanmıştır.
Senthil G

1
sshd: ALLBunun yardımcı olup olmadığını kontrol etmek için lütfen hosts.deny'ye ekleyin .
vagarwal

2

Hata ayıklamadaki bir sonraki satır şöyle görünmelidir:

debug1: Remote protocol version 2.0, remote software version OpenSSH_5.3p1 Debian-3ubuntu7

StackOverflow'ta, harici IP adresinden NATing / port yönlendirme kullandığınızı onayladınız. Ayrıca, yerel kutusundan kendi kendine ssh yapabileceğinizi doğruladınız. Yerel olarak bağlantı noktası 443'e yerel olarak sshing yapıldıktan sonra bağlantı noktası eşleme işlemlerini doğrulamanız gerekir.

Deneyin:

  1. Aynı alt ağdaki başka bir kutudan SSH
  2. Çalıştırın iptables -Lve 443 numaralı bağlantı noktasının açık olduğunu ya da GİRİŞ ve ÇIKIŞIN KABUL EDİLDİĞİNİ kontrol edin.
  3. Çalıştırın tcpdump -A -s 0 port 443ve ardından harici IP'ye sshing yapmayı deneyin. Verilerin yönlendiricinin kaynak adresiyle geldiğini görmelisiniz.

2

Şimdi, Ubuntu 14.04’ü AWS’de çalıştırıyorum. Sorun, Java Web istemcileri aracılığıyla SSHing tarafından giderildi ve çalışıyordu sudo service apache2 start. Sadece web sitemin yedeklenmesini istedim, ancak SSH erişimini de düzeltti. Neden bilmiyorum ama şikayetçi değilim.


Burada da aynı sorun. oturumum sebepsiz yere cevap vermiyordu ve tekrar macunla bağlanamadım. web istemcisini kullanarak macun aracılığıyla bağlantımın tekrar çalışabilmesi için ne kadar sihir yaptım.
AndrewK

Teşekkürler, nasıl bilmiyorum ama gerçekten yardımcı oldu. *** aws
Siarhey Uchukhlebau

1

Bağlanmaya çalıştığınız sunucudaki allow.hosts dosyasını ve çalıştığı tüm iptables kurallarını kontrol edin.


1

Sorun çözüldü.
Sorun, ağımızdaki Yük dengeleyicilerde. Yük dengeleyicilerin yeniden başlatılması ile ilgili sorun giderildi


1

Bugün benzer bir sorunla karşı karşıya kaldım, aniden bir VM'ye ssh erişimi aynı mesajla reddedildi. ssh -v (istemcide) ve sshd -d (sunucuda) pek yardımcı olmadı. Benim durumumdaki sorun LAMP yığın kullanımının bir demosu için yaptığım firewall / iptable ayarlarındaki değişiklik nedeniyle başladı.

Güvenlik duvarını etkinleştirmek için system-config-firewall-tui kullandım ve httpd hariç diğer tüm servisleri engelleyen yalnızca httpd'yi seçtim .

Yani buna bir çözüm için izinleri eklerken sshd tarafından

  • iptable conf ayarlarının güncellenmesi VEYA
  • System-config-firewall-tui VEYA içinden sshd seçimi
  • Güvenlik duvarını devre dışı bırakmak VEYA
  • İptable hizmetini durdur (rhel6, ayrıca chkconfig'den kaldır) service iptables stop

ssh şimdi mükemmel çalışıyor!


0

Benim için / etc / hosts dosyasında sshd bağlantılarına izin vermek.

vi /etc/hosts.allow
and add 

sshd: ALL

0

Sorunu çözme yöntemim ana makineye gittim ve birkaç komut kullandım.

sudo mkdir / var / run / sshd

sudo chmod 755 -R / var / run / sshd

sudo service ssh yeniden başlat

Ondan sonra makineye bağlandım.


-3

İlk tasfiye openssh- * (openssh-server ve openssh-client)

apt-get --purge remove openssh-*

/home/username/.ssh dizinini kaldırma

rm -rf /home/username/.ssh 

sonra openssh-server'ınızı ve openssh-client'inizi kurun

apt-get install openssh-server openssh-client

3
Hayır, yakın bile değil, OP'nin cevabı sorunun ne olduğunu söylüyor. Cevap, apt kullanan dağıtımlara özgüdür, OP ise RHEL kullanıyordu. Bir paketi söküp tekrar takmak neredeyse hiç bir zaman çözüm değildir.
user9517, GoFundMonica

Tüm bunları yerel veya uzak sunucuda yaptınız mı?
Jonathan,
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.