Uzak bir makine, kurmaya veya sürdürmeye çalıştığınız bir SSH bağlantısını engelledi. “ssh_exchange_identification: read: Bağlantı eş tarafından sıfırlandı” mesajı, hatayı neyin tetiklediğini hemen açıklayacak kadar spesifik değil.
Sorunu başarılı bir şekilde çözebilmek için önce nedenini belirlememiz gerekir. Bu makale olası nedenlerin derinlemesine bir analizini sunar ve en etkili çözümleri sağlar.
Bu öğreticiyi okuyarak, “ssh_exchange_identification: read: Connection reset by peer” Hatasını nasıl düzelteceğinizi öğreneceksiniz.
Önkoşullar
- Uzak sunucuya erişmek için gerekli izinler
- Köklü bir kullanıcı hesabı veya sudo ayrıcalıklar
“Bağlantı eş tarafından sıfırlandı” SSH Hatasına Ne Sebep Olur?
“ssh_exchange_identification: read: Eş tarafından bağlantı sıfırlandı” hatası, uzak makinenin Geçiş Kontrol Protokolü (TCP) akışını aniden kapattığını gösterir. Çoğu durumda, uzak bir sunucunun hızlı bir şekilde yeniden başlatılması, geçici bir kesinti veya bağlantı sorununu çözebilir.
Not: Ağ tabanlı güvenlik duvarları veya yük dengeleyiciler bazen IP’leri veya güvenlik izinlerini bozabilir. Bu tür bir sorun, servis sağlayıcınıza başvurarak çözülebilir.
Bu sorunu nasıl gidereceğinizi öğrenmek ve altında yatan nedeni belirlemek, gelecekte sisteminizde tekrarlanmalarını önlemenize yardımcı olur. “ssh_exchange_identification: read: Connection reset by peer” hatasının en yaygın nedenleri şunlardır:
- Ana Bilgisayar Tabanlı Erişim Kontrol Listeleri nedeniyle bağlantı engelleniyor.
- İzinsiz giriş önleme yazılımı, güvenlik duvarı kurallarını (Fail2ban, DenyHosts, vb.) güncelleyerek IP’nizi engelliyor.
- SSH arka plan programı yapılandırma dosyasındaki değişiklikler.
hosts.deny ve hosts.allow Dosyasını kontrol edin
bu hosts.reddet Ve hosts.izin ver dosyalar TCP sarmalayıcılarıdır. Bir güvenlik özelliği olarak, bu dosyalar hangi IP adresinin veya ana bilgisayar adının uzak makineye bağlantı kurabileceğini sınırlamak için kullanılır.
Not: incelemek hosts.reddet Ve hosts.izin ver üzerindeki dosyalar uzak sunucuyerel istemcide değil.
hosts.deny Dosyası Nasıl Düzenlenir
Uzak sunucunuza erişin ve hosts.reddet tercih ettiğiniz metin düzenleyiciyi kullanarak dosya. eğer kullanıyorsanız nano Debian tabanlı bir sistemde aşağıdaki komutu girin:
sudo nano /etc/hosts.deny
Boş satırlar ve ‘#’ simgesiyle başlayan satırlar yorumdur. Dosyada yerel IP’nizi veya ana bilgisayar adınızı bulup bulamadığınızı kontrol edin. Varsa, kaldırılması veya yorumlanması gerekir, aksi takdirde uzak bağlantı kurmanızı engeller.
Gerekli değişiklikleri yaptıktan sonra dosyayı kaydedin ve çıkın. SSH ile yeniden bağlanmayı deneyin.
hosts.allow Dosyası Nasıl Düzenlenir
Ek bir önlem olarak, hosts.izin ver dosya. içinde erişim kuralları hosts.izin ver öncelikle uygulanır. belirtilen kurallara göre önceliklidir. hosts.reddet dosya. erişmek için aşağıdaki komutu girin. hosts.izin ver dosya:
sudo nano /etc/hosts.allow
Dosyaya ana bilgisayar adları ve IP’ler eklemek, ayarlardaki istisnaları tanımlar. hosts.reddet dosya.
Örneğin, sıkı bir güvenlik politikası etc/hosts.deny dosya, tüm ana bilgisayarlara erişimi reddeder:
sshd : ALL
ALL : ALL
Ardından, etc/hosts.allow dosyasına tek bir IP adresi, bir IP aralığı veya bir ana bilgisayar adı ekleyebilirsiniz. Aşağıdaki satırı ekleyerek, yalnızca aşağıdaki IP’nin uzak sunucunuzla bir SSH bağlantısı kurmasına izin verilir:
sshd : 10.10.0.5, LOCAL
Bu tür bir sınırlayıcı güvenlik ayarının, uzak sunucularınızdaki yönetim özelliklerini etkileyebileceğini unutmayın.
Fail2ban’ın IP Adresinizi Engelleyip Engellemediğini Kontrol Edin
Birden çok kez bağlanmayı denediyseniz, IP’niz izinsiz giriş önleme yazılımı tarafından engellenmiş olabilir. Başarısız2ban sizi kaba kuvvet saldırılarından korumak için tasarlanmış bir hizmettir ve kimlik doğrulama girişimlerinizi bir saldırı olarak yanlış yorumlayabilir.
Fail2ban, şüpheli davranış sergileyen IP adreslerini yasaklamak için güvenlik duvarı kurallarını izler ve dinamik olarak değiştirir. Günlükleri izler, örneğin hosts.reddet Ve hosts.izin ver Daha önce düzenlediğimiz dosyalar.
Örneğimizde, iptables aracının denediğiniz bağlantıları reddedip reddetmediğini kontrol etmek için aşağıdaki komutu kullandık:
sudo iptables -L --line-number
Terminal pencerenizdeki çıktı, tüm kimlik doğrulama girişimlerini listeleyecektir. Bir güvenlik duvarının gerçekten de SSH bağlantınızı engellediğini fark ederseniz, fail2ban ile IP’nizi beyaz listeye alabilirsiniz. Aksi takdirde hizmet, gelecekteki tüm girişimleri sürekli olarak engelleyecektir. Fail2ban yapılandırma dosyasına erişmek için aşağıdaki komutu girin:
sudo nano /etc/fail2ban/jail.conf
Şunu içeren satırı yorumlayarak dosyayı düzenleyin: "ignoreip ="
beyaz listeye eklemek istediğiniz IP veya IP aralığını ekleyin.
Fail2ban şimdi bir istisna yapacak ve söz konusu IP için şüpheli davranışı bildirmeyecek.
sshd_config Dosyasını kontrol edin
‘ssh_exchange_identification: read: Bağlantı eş tarafından sıfırlandı’ hatasını yaşamaya devam ediyorsanız, kimlik doğrulama günlüğü girişini inceleyin. Varsayılan olarak, SSH arka plan programı günlük bilgilerini sistem günlüklerine gönderir. Erişmek /var/log/auth.log başarısız oturum açma girişiminizden sonra dosya. En son günlük girişlerini incelemek için şunu yazın:
tail -f /var/log/auth.log
Çıktı, kimlik doğrulama denemelerinizin sonuçlarını, kullanıcı hesabınızla ilgili bilgileri, kimlik doğrulama anahtarınızı veya parolanızı sunar.
Günlük, sshd yapılandırma dosyasındaki olası sorunları bulmanıza yardımcı olabilecek bilgiler sağlar. sshd_config. Dosyada yapılan herhangi bir değişiklik, bir ssh bağlantısının kurulduğu koşulları etkileyebilir ve uzak sunucunun istemciye uyumsuz muamelesi yapmasına yol açabilir. erişmek için sshd_config dosya tipi:
sudo nano /etc/ssh/sshd_config
sshd yapılandırma dosyası, kimlik doğrulama için varsayılan TCP bağlantı noktası veya SSH anahtar çiftleri gibi temel ayarların yanı sıra bağlantı noktası iletme gibi daha gelişmiş işlevleri değiştirmenize olanak tanır.
Örneğin, MaxStartups
değişken, bir sistemin önceden tanımlanmış bir süre içinde kaç bağlantı kabul ettiğini tanımlar. Kısa sürede çok sayıda bağlantı yapan bir sisteminiz varsa, bu değişken için varsayılan değerleri artırmak gerekebilir. Aksi takdirde, uzak sistem denenen ek ssh bağlantılarını reddedebilir.
Ne zaman düzenlerseniz sshd_config dosya, değişikliklerin etkili olması için sshd hizmetini yeniden başlatın:
service sshd restart
Yalnızca aşina olduğunuz değişkenleri düzenleyin. Hatalı bir yapılandırma dosyası nedeniyle bir sunucuya erişilemez hale gelebilir.
Çözüm
arkasındaki en yaygın nedenleri iyice kontrol ettiniz. “ssh_exchange_identification: oku: Eş tarafından bağlantı sıfırlandı” hata. Sırayla her olasılığa bakarak, sorunu başarıyla çözdünüz ve artık gelecekte benzer sorunlarla nasıl başa çıkacağınızı biliyorsunuz.
Potansiyel nedenlerin sayısı çok fazladır ve her açıdan giderilmesi zordur. Sonuç olarak, hata devam ederse sunucunuzla iletişime geçmeniz gerekebilir.