SSH Permission Denied (publickey) Hatası Nasıl Çözülür

Son gözden geçirme: Eylül 2026 · Ubuntu 24.04 ve OpenSSH resmî dokümanına göre

Hızlı çözüm

[email protected]: Permission denied (publickey). çıktısı, yani ssh permission denied publickey hatası, sunucunun parola kabul etmediğini ve gönderdiğiniz anahtarı tanımadığını söyler; neden çoğunlukla yanlış anahtar, yanlış kullanıcı ya da ~/.ssh izinleridir.

  1. ssh -v ile hangi anahtarın gönderildiğini görün, doğru dosyayı -i ile verin.
  2. Sunucunun beklediği kullanıcı adıyla bağlanın (root ya da kurulumda açtığınız kullanıcı).
  3. Tarayıcı terminalinden girip açık anahtarın ~/.ssh/authorized_keys içinde olduğunu kontrol edin.
  4. İzinleri düzeltin: ~/.ssh 700, authorized_keys 600, sahibi o kullanıcı.
Panel Yok — sunucuya tarayıcı terminali ya da SSH ile erişilir
Sistem Ubuntu 22.04/24.04, Debian 12 (OpenSSH); istemci Linux, macOS ya da Windows
Yetki Sunucunuzun root ya da sudo yetkili kullanıcısı
Narhost ürünü VPS Sunucu, VDS Sunucu

Başlamadan önce

  • SSH çalışmadığında sunucuya ürünle gelen tarayıcı terminalinden girebildiğinizi doğrulayın; düzeltmeler oradan yapılır.
  • Kendi bilgisayarınızdaki özel anahtarın yerini bilin (Linux/macOS’ta ~/.ssh/id_ed25519, Windows’ta C:\Users\ad\.ssh\id_ed25519).
  • sshd_config dosyasında değişiklik yapacaksanız önce sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak ile yedek alın.

SSH Permission Denied Publickey Hatası Neden Olur

Sunucuda parola girişi kapalıysa (PasswordAuthentication no) OpenSSH yalnız anahtarla oturum açar. İstemci sırayla elindeki açık anahtarları sunar; hiçbiri o kullanıcının authorized_keys dosyasında yoksa ya da dosya okunamıyorsa bağlantı Permission denied (publickey) ile kapanır. Parola sorulmaması bu yüzden normaldir.

Sık görülen nedenler şunlardır: istemci farklı bir anahtar dosyasını deniyordur; bağlanılan kullanıcı adı anahtarın eklendiği kullanıcı değildir; açık anahtar dosyaya satır kırılarak ya da eksik kopyalanmıştır; ~/.ssh klasörü veya ev dizini başkalarınca yazılabilir durumdadır. sshd_config belgesine göreStrictModes varsayılan olarak açıktır ve sunucu, izinleri gevşek dosyaları kabul etmez.

Adım Adım Çözüm

İstemci tarafı — hangi anahtar gidiyor

  1. Ayrıntılı çıktıyla bağlanın.ssh belgesine göre-v hata ayıklama çıktısı verir, -i kullanılacak anahtar dosyasını belirler.
    ssh -v -i ~/.ssh/id_ed25519 [email protected]

    Beklenen sonuç: Offering public key satırında gönderilen dosya görünür. Server accepts key yoksa sunucu bu anahtarı tanımıyordur.

  2. Kullanıcı adını kontrol edin. Anahtarı hangi kullanıcıya eklediyseniz o adla bağlanın; root için eklenen anahtar deploy kullanıcısında çalışmaz.
  3. Windows’ta PuTTY kullanıyorsanız anahtarın .ppk biçiminde olması gerekir; OpenSSH biçimindeki dosyayı PuTTYgen ile dönüştürün ya da Windows’un kendi ssh komutunu kullanın.

Sunucu tarafı — tarayıcı terminalinden düzeltin

  1. Açık anahtarın dosyada olduğunu doğrulayın. Her anahtar tek satırdır ve ssh-ed25519 ya da ssh-rsa ile başlar.
    cat ~/.ssh/authorized_keys

    Beklenen sonuç: bilgisayarınızdaki id_ed25519.pub içeriğiyle birebir aynı satır listede görünür.

    ssh permission denied publickey hatası çözüm akış şeması — anahtar, kullanıcı, authorized_keys ve izin kontrolleri
    Anahtarla SSH girişi reddedildiğinde dört kontrol: gönderilen anahtar, kullanıcı adı, authorized_keys satırı, klasör izinleri.
  2. İzinleri ve sahipliği düzeltin. Kullanıcı root değilse komutları o kullanıcıyla ya da yolu değiştirerek çalıştırın.
    chmod 700 ~/.ssh
    chmod 600 ~/.ssh/authorized_keys
    chown -R $(whoami):$(whoami) ~/.ssh

    Beklenen sonuç: ls -ld ~/.ssh çıktısında drwx------ görünür.

  3. Etkin SSH ayarlarını okuyun.
    sudo sshd -T | grep -Ei 'pubkeyauthentication|passwordauthentication|permitrootlogin|authorizedkeysfile'

    Beklenen sonuç: pubkeyauthentication yes; root ile bağlanıyorsanız permitrootlogin değeri no olmamalı.

  4. Sunucu günlüğüne bakın. Ubuntu’da servis adı ssh‘tır.
    sudo journalctl -u ssh -n 30 --no-pager

    Beklenen sonuç: Authentication refused: bad ownership or modes satırı izin sorununu, Invalid user yanlış kullanıcı adını gösterir.

Dikkat

Ayar değiştirdikten sonra sudo sshd -t ile sözdizimini test edin ve açık oturumu kapatmadan yeni bir pencerede bağlantıyı deneyin. Anahtarla giriş çalışmadan parola girişini kapatmayın; sunucunun dışında kalırsınız.

Doğrulama

Sonuç

Yeni bir terminalde ssh -i ~/.ssh/id_ed25519 [email protected] parola sormadan kabuk açıyor ve ssh -v çıktısında Authenticated satırı görünüyorsa sorun çözülmüştür.

Hâlâ Çözülmediyse

  • Anahtar hiç eklenmemiş. Açık anahtarı doğru biçimde eklemek için SSH anahtarı ekleme kartını izleyin.
  • Hata değil, zaman aşımı alıyorsunuz. Sorun kimlikte değil bağlantıdadır; port değiştirildiyse SSH portu kartındaki kontrolleri yapın.
  • Tarayıcı terminaline de giremiyorsunuz.Konsol bağlantısı kartındaki yolla destek talebi açın.

Narhost desteği

VPS/VDS yönetimsizdir; sunucu içindeki SSH ayarları sizin sorumluluğunuzdadır, erişim tamamen kesildiyse konsol için talep açın. Talebe şunları ekleyin: sunucu adı, ssh permission denied publickey çıktısının tamamı, ssh -v çıktısının son 20 satırı, hatanın başladığı saat ve denediğiniz adımlar. Özel anahtarınızı talebe asla eklemeyin.

Destek talebi aç

Sıkça sorulan sorular

Hata neden parola sormadan çıkıyor?

Sunucuda parola girişi kapalı olduğu için OpenSSH yalnız anahtar kabul eder. Anahtar reddedilince başka yöntem kalmaz ve bağlantı hemen kapanır.

Anahtar dosyam için “UNPROTECTED PRIVATE KEY FILE” uyarısı alıyorum

Bu uyarı istemci tarafındadır: özel anahtar dosyası başkalarınca okunabilir durumdadır. Linux ve macOS’ta chmod 600 ~/.ssh/id_ed25519 ile düzeltin.

Aynı anahtarla birden fazla sunucuya bağlanabilir miyim?

Evet. Aynı açık anahtarı her sunucunun authorized_keys dosyasına eklemeniz yeterlidir; özel anahtar yalnız sizin bilgisayarınızda kalır.

Bu makale sorununuzu çözdü mü?

Çözemediniz mi?

Teknik ekibimiz sunucu tarafındaki ayarları sizin için kontrol edebilir. Destek talebinizde alan adınızı ve aldığınız hata metnini paylaşmanız süreci hızlandırır.

İlgili çözümler