Güvenli Kabuk (SSH), uzaktan sunucu yönetimi için hayati bir araçtır. Kimlik doğrulama sorunları genellikle bağlantı hatalarının birincil nedeni olsa da, birkaç başka faktör SSH arızalarına yol açabilir. Bu makale, kimlik doğrulama dışı yaygın nedenleri inceler ve bunları çözmek için sorun giderme adımları sağlar.
1. Ağ Sorunları
- Güvenlik Duvarı Engelleme: Güvenlik duvarları SSH portunu (varsayılan: 22) engelleyerek bağlantıları önleyebilir.
- Port Yönlendirme Sorunları: NAT kurulumlarında, yanlış port yönlendirme SSH erişimini engelleyebilir.
- Ağ Zaman Aşımı: Kararsız bağlantılar veya yüksek gecikme SSH iletişimini kesintiye uğratabilir.
Sorun Giderme:
telnet
veyanc
kullanarak SSH portunun açık olduğunu doğrulayın.- Uygun port yönlendirmesi için yönlendirici veya NAT yapılandırmalarını kontrol edin.
ping
gibi araçları kullanarak ağ kararlılığını test edin.
2. Sunucu Tarafı Yapılandırma Sorunları
- SSH Daemon Çalışmıyor:
sshd
çalışmıyorsa, sunucu bağlantıları kabul etmeyecektir. - Standart Olmayan Bağlantı Noktası: Sunucu 22'den farklı bir bağlantı noktasını kullanacak şekilde yapılandırılmış olabilir.
- IP Kısıtlamaları: Sunucular güvenlik nedeniyle belirli IP adreslerinden erişimi reddedebilir.
Sorun Giderme:
sshd
hizmetinin çalıştığını doğrulayın:sudo systemctl status sshd
.- Doğru bağlantı noktası ve kısıtlamalar için sunucunun SSH yapılandırma dosyasını kontrol edin:
/etc/ssh/sshd_config
- IP tabanlı kısıtlamaları elemek için farklı bir ağdan bağlanmayı test edin.
3. Şifreleme/Protokol Sorunları
- Uyumsuz Protokol Sürümleri: SSH-1 ve SSH-2 uyumsuzluğu hatalara neden olabilir. - Desteklenmeyen Şifreleme Algoritmaları: Güncel olmayan veya devre dışı bırakılmış şifrelere güvenen sunucular veya istemciler bir bağlantıyı müzakere etmekte başarısız olabilir.
- Anahtar Değişim Hataları: Eşleşmeyen anahtar değişim algoritmaları bağlantıyı bozabilir.
Sorun Giderme:
- Protokol ve şifre müzakere sorunlarını belirlemek için aşağıdaki komutu kullanın:
ssh -v
- Modern standartlarla uyumluluğu sağlamak için SSH istemcisini ve sunucusunu güncelleyin.
- SSH komutunda uyumlu bir şifre veya anahtar değişim algoritmasını açıkça belirtin.
4. DNS veya Ana Bilgisayar Adı Sorunları
- Ana Bilgisayar Adı Çözümleme Hatası: İstemci sunucunun ana bilgisayar adını bir IP adresine çözemiyor.
- Ters DNS Yapılandırması: Sunucuda yanlış yapılandırılmış ters DNS bağlantı sorunlarına neden olabilir.
Sorun Giderme:
- Bağlantıyı ana bilgisayar adı yerine sunucunun IP adresini kullanarak test edin.
- Sunucudaki DNS yapılandırmasını ve ters DNS kurulumunu kontrol edin.
5. Oturum Sınırlamaları
- Maksimum Bağlantı Sayısına Ulaşıldı: SSH sunucuları eş zamanlı bağlantılara bir sınır getirebilir.
- IP Tabanlı Sınırlamalar: Bazı sunucular tek bir IP'den gelen bağlantı sayısını sınırlar.
Sorun Giderme:
- Oturum sınırları için sunucu günlüklerini kontrol edin:
/var/log/auth.log
veya/var/log/secure
- Gerekirse SSH sunucusu yapılandırmasında izin verilen maksimum bağlantıları artırın.
6. Ana Bilgisayar Anahtarı Uyuşmazlıkları
- Ana Bilgisayar Anahtarı Değişiklikleri: Sunucunun ana bilgisayar anahtarı değişirse (örneğin, bir yeniden yapılandırmadan sonra), istemci bağlantıyı reddeder.
- Bozuk
known_hosts
Dosyası: İstemcininknown_hosts
dosyasındaki sorunlar bağlantıları engelleyebilir.
Sorun Giderme:
- Sunucunun eski anahtarını
known_hosts
dosyasından kaldırın:ssh-keygen -R <hostname or IP>
. - Güncellenmiş ana bilgisayar anahtarını oluşturmak ve kaydetmek için yeniden bağlanın.
7. Kullanıcı İzinleri ve Politikaları
- Hesap Kısıtlamaları: Kullanıcı hesapları SSH erişiminden kilitlenebilir veya kısıtlanabilir.
- Chroot veya Jail Yapılandırmaları: Yanlış yapılandırılmış jail ortamları SSH erişimini engelleyebilir.
Sorun Giderme:
- Sunucudaki kullanıcı hesabı izinlerini doğrulayın.
AllowUsers
vePermitRootLogin
gibi SSH yapılandırma seçeneklerini kontrol edin.
8. Kaynak Kısıtlamaları
- CPU veya Bellek Tükenmesi: Aşırı yüklenen sunucular SSH isteklerini işlemede başarısız olabilir. - Disk Alanı Sorunları: SSH günlükleri veya geçici dosyalar için yetersiz disk alanı bağlantıları bozabilir.
Sorun Giderme:
top
veyahtop
gibi araçları kullanarak sunucu kaynaklarını izleyin.- Sunucunun alanı azalıyorsa disk alanını boşaltın.
9. Yazılım Hataları veya Sürüm Uyumsuzluğu
- Güncel Olmayan SSH Yazılımı: Eski sürümler modern protokoller veya şifreleme yöntemleri için destekten yoksun olabilir.
- İstemci Tarafı Hataları: SSH istemci yazılımı sorunları da hatalara neden olabilir.
Sorun Giderme:
- Hem istemci hem de sunucu SSH yazılımını en son kararlı sürümlere güncelleyin.
- Bağlantıyı alternatif bir SSH istemcisiyle test edin.
10. Güvenlik Yazılımı Müdahalesi
- Antivirüs veya Saldırı Önleme: İstemci veya sunucudaki güvenlik yazılımı SSH trafiğini engelleyebilir veya kesintiye uğratabilir. - VPN veya Proxy Sorunları: Yanlış yapılandırılmış VPN'ler veya proxy'ler SSH bağlantılarını engelleyebilir.
Sorun Giderme:
- Virüsten koruma veya saldırı önleme yazılımını geçici olarak devre dışı bırakın ve bağlantıyı test edin.
- VPN veya proxy ayarlarının SSH trafiğinin geçmesine izin verdiğinden emin olun.
11. Uzak Mac'te Hizmet Etkinleştirilmemiş
- Uzaktan Oturum Açma: Hizmet etkinleştirilmemiş. Sistem Ayarları > Genel > Paylaşım'ı açın ve Uzaktan Oturum Açma'yı etkinleştirin.
Sonuç
Kimlik doğrulama, SSH hatalarının yaygın bir nedeni olsa da, ağ sorunları, sunucu yapılandırması, protokol uyumsuzlukları ve kaynak sınırlamaları gibi diğer faktörler de güvenli bağlantıları bozabilir. Bu olası sorunları sistematik olarak belirleyip ele alarak SSH işlevselliğini geri yükleyebilir ve kesintisiz uzaktan erişimi sürdürebilirsiniz.
Kalıcı sorunlar için, tam nedeni belirlemek için hem istemcide hem de sunucuda ayrıntılı günlük analizi çok önemlidir.