SSH Permission Denied (publickey,password) Hatası Çözümü
Sunucuya ağ bağlantısı kurulmasına rağmen kimliğiniz kabul edilmediğinde Permission denied mesajı görülür. Hatanın sonundaki yöntem listesi, hangi doğrulama türlerinin denendiğini anlamanıza yardım eder.

Permission denied mesajı ne anlama gelir?
Bu mesaj, istemcinin SSH sunucusuna ulaştığını fakat sunucunun gönderilen kullanıcı kimliğini kabul etmediğini gösterir. Bu nedenle önce port ve güvenlik duvarı yerine kullanıcı adı ve doğrulama yöntemine odaklanılır.
Parantez içindeki publickey, password veya keyboard-interactive ifadeleri sunucunun kabul ettiği ya da istemcinin denediği yöntemleri gösterebilir. Mesajdaki yöntemler sunucu yapılandırmasına göre değişir.
Kullanıcı adı ve parola kontrolleri
root, ubuntu, debian veya sağlayıcıya özgü bir hesap gerekebilir. Panel hesabı ile SSH hesabını karıştırmayın.
Büyük-küçük harf, klavye düzeni, görünmeyen boşluk ve otomatik doldurma hatalarını kontrol edin.
Sunucuda PasswordAuthentication kapalıysa doğru parola bile kabul edilmez; özel anahtar kullanmanız gerekir.
Çok sayıda başarısız deneme, fail2ban veya sağlayıcı güvenlik politikası geçici engel oluşturabilir.
Arka arkaya rastgele parola denemeleri hesabı veya IP adresini kilitleyebilir. Bilgileri doğruladıktan sonra yeniden deneyin.
Özel anahtar kullanıyorsanız
- 1Doğru anahtar dosyasını seçin
Sunucudaki açık anahtarla eşleşen özel anahtarı kullanın. Benzer isimli eski anahtarları karıştırmayın.
- 2Anahtar parolasını kontrol edin
Private key passphrase, sunucu hesabının parolası değildir. Anahtar oluşturulurken belirlenen koruma parolasıdır.
- 3Anahtar biçimini kontrol edin
İstemcinin desteklediği OpenSSH veya uyumlu anahtar biçimini kullanın. Bozulmuş veya eksik dosya yüklenemez.
- 4Açık anahtarın sunucuda olduğunu doğrulayın
Eşleşen tek satırlık public key, doğru kullanıcının ~/.ssh/authorized_keys dosyasında bulunmalıdır.
authorized_keys sahipliği ve izinleri
OpenSSH, güvenli olmayan sahiplik veya izinler gördüğünde authorized_keys dosyasını yok sayabilir. Kullanıcının ev dizini, .ssh klasörü ve authorized_keys dosyası başka kullanıcılar tarafından yazılabilir olmamalıdır.
Yaygın bir yapı .ssh klasörü için 700, authorized_keys için 600 iznidir. Ancak sunucunuzdaki grup, ACL veya merkezi kimlik yapılandırması farklı olabilir; değişiklikten önce mevcut politikayı kontrol edin.
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys
chown -R "$(id -un)":"$(id -gn)" ~/.sshsudo journalctl -u ssh --since '10 minutes ago'
# RHEL/Fedora için hizmet adı sshd olabilirİzin ve sahiplik komutlarını bağlanmaya çalıştığınız hesabın .ssh klasöründe uygulayın. Başka hesabın dosyalarını yanlışlıkla değiştirmeyin.
Sunucu yapılandırmasını kontrol edin
Anahtar doğrulaması için etkin olmalıdır.
Sunucunun açık anahtarları varsayılan konumdan farklı yerde arayıp aramadığını gösterir.
Hesabınız bağlantı izni verilen kullanıcı veya grupların dışında olabilir.
Root hesabıyla bağlantı sunucu politikasına göre tamamen kapalı veya yalnızca anahtarla açık olabilir.
sshd_config değişikliğinden sonra sudo sshd -t ile sözdizimini kontrol edin. Yeni bağlantıyı doğrulamadan mevcut yönetici oturumunu kapatmayın.
Hızlı teşhis sırası
- 1Kullanıcı adını doğrulayın
Aynı sunucudaki farklı hesapların anahtarları ve parolaları birbirinin yerine geçmez.
- 2Sunucunun istediği yöntemi belirleyin
Parolalı giriş kapalıysa özel anahtar, anahtar girişi kapalıysa sunucunun izin verdiği yöntemi kullanın.
- 3Doğru kimlik bilgisini seçin
Kayıtlı profilde yanlış parola veya anahtar bağlı olmadığını kontrol edin.
- 4Sunucu günlüklerini inceleyin
Günlükler yanlış kullanıcı, geçersiz anahtar veya izin hatasını istemci mesajından daha ayrıntılı gösterebilir.
Rehberi uygulamaya geçirin.
İlgili Varkuna ürününü inceleyin veya ayrıntılı kullanım rehberini açın.