Skip to main content

SSH ile Bağlantı ve Debug

Sunucuya SSH ile bağlanmak ve sorun yaşarsan hızlı debug için adımlar.

Hızlı başlangıç

  • Varsayılan anahtarla bağlan:
ssh appuser@hostname
  • Belirli anahtar dosyasıyla:
ssh -i ~/.ssh/ondokuzon_rsa appuser@hostname

Debug: Bağlanamıyorsan

1) Ayrıntılı çıktı al

ssh -vvv appuser@hostname

Mesaj tiplerine göre:

  • Permission denied (publickey): Yanlış anahtar, agent yuklu degil, ya da kullanici yetkisi yok.
  • Connection timed out: Host ayakta değil, rota yok, firewall.
  • Connection refused: SSH servisi kapalı, port 22 kapalı.
  • Host key verification failed: Host key değişmiş; güvenliyse temizle:
ssh-keygen -R hostname
  • Too many authentication failures: Fazla anahtar deneniyor, şu şekilde:
ssh -o IdentitiesOnly=yes -i ~/.ssh/ondokuzon_rsa appuser@hostname

2) Anahtar ve yetki kontrolleri

  • İzinler:
ls -l ~/.ssh
chmod 600 ~/.ssh/ondokuzon_rsa
  • Agent'ta anahtar var mı?
ssh-add -l || ssh-add ~/.ssh/ondokuzon_rsa
  • Kullanıcı adı doğru mu? Deneme:
ssh otheruser@hostname

3) Ağ ve port testi

dig +short hostname
ping -c 3 hostname
nc -vz hostname 22

Port 22 kapalıysa, farklı port kullanılıyorsa belirt:

ssh -p 2222 appuser@hostname

4) Host key doğrulama

İlk bağlantıda fingerprint'i doğrula ve known_hosts'a ekle. Değişim varsa ekibi bilgilendir; sahte değilse ssh-keygen -R hostname ve tekrar bağlan.

5) Oturum kopuyorsa

  • Keep-alive ayarla (ServerAliveInterval 30).
  • MTU/packet sorunu ihtimaline karşı:
ssh -o TCPKeepAlive=yes -o ServerAliveInterval=30 appuser@hostname

6) Log inceleme (erişiyorsan)

Sunucuda sshd loglarını kontrol et (örnekler):

sudo tail -n 50 /var/log/auth.log
sudo journalctl -u ssh -n 50