SSH Permission Denied (publickey) Hatası Çözümü

Hazırlayan: IT Uzmanı Arif TOK

1. Neden Bu Hatayı Alıyorum?

"Permission denied (publickey,gssapi-keyex,gssapi-with-mic)" hatası genellikle sunucu tarafında SSH anahtar dosyalarının yanlış yetkilere sahip olmasından veya parola ile girişin kapalı olup public key'inizin tanınmamasından kaynaklanır. Linux, güvenlik gereği SSH dosyalarının izinleri konusunda çok katıdır.

2. Klasör ve Dosya İzinlerini Düzeltme

En yaygın sebep, sunucudaki .ssh klasörünün veya authorized_keys dosyasının izinlerinin yanlış olmasıdır. Hedef sunucuda (SSH tamamen kapalıysa konsol üzerinden bağlanarak) şu komutları çalıştırın:

# Klasör yetkisi sadece sahibine ait olmalıdır chmod 700 ~/.ssh # Anahtar dosyasının yetkisi sadece okuma/yazma olmalıdır chmod 600 ~/.ssh/authorized_keys # Klasör sahipliğinin doğru olduğundan emin olun (kullanıcı adınızı yazın) chown -R kullaniciadi:kullaniciadi ~/.ssh

3. SSH Konfigürasyonunu Kontrol Etme

Eğer izinler doğruysa, SSH servisi yapılandırmasında sorun olabilir. sshd_config dosyasını kontrol edin.

sudo nano /etc/ssh/sshd_config

Dosya içinde şu satırların doğru ayarlandığından emin olun (başlarında # varsa silin):

GÜVENLİK UYARISI

'PasswordAuthentication yes' ayarını etkinleştirmek sunucunuzu brute-force (kaba kuvvet) saldırılarına açık hale getirir. Her zaman SSH anahtarı ile bağlanmanız şiddetle tavsiye edilir.

4. SSH Servisini Yeniden Başlatma

Yapılan ayarların geçerli olması için SSH servisini yeniden başlatın.

# Ubuntu / Debian için: sudo systemctl restart ssh # CentOS / RHEL / Fedora için: sudo systemctl restart sshd