SSH Permission Denied Publickey Nasıl Düzeltilir
SSH ile bağlanılan sunucuda izinle ilgili ayarlar değiştirildikten sonra görünür.Bu hatanın nedeni yeni bir paket kurulumu veya yeni kullanıcıların oluşturulmasından sonra bu hatayı verebilmektedir. Makalenin devamında SSH Failed Permission Denied (Publickey,Gssapi-Keyex,Gssapi-With-Mic) hatasının çözümüne bakacağız.
Bu makalede, SSH permission denied publickey hatasını nasıl gidereceğinizi ve SSH sunucunuza yeniden bağlanmayı öğreneceksiniz.
İşlemler başlamadan önce işlem yapacağımız dosyaları mutlaka yedekleyin.
Sorunun Çözümü İçin Gereksinimler
- Yerel makineden sunucuya SSH bağlantısı
- Uzak sunucuya erişmek için bir kullanıcı hesabı
- Sudo veya root ayrıcalıklarına sahip bir kullanıcı hesabı
Mevcut Hata Genellikle Şu Şekildedir.
Permission denied (publickey,gssapi-keyex,gssapi-with-mic)
Hatanın bir nedeni sshd_config dosyası SSH sunucusunda yeniden yapılandırmasını gerekebilir. Diğer neden , authorized_keys dosyanın yetersiz izinlere sahip olmasıdır. Sonuç olarak, sistemin dosyadan okuma yapamaması İzin reddedildi hatasıyla sonuçlanır.
SSH permission denied publickey nasıl düzeltilir
Her iki çözüm de sunucu tarafında gerçekleştirmeniz gereken adımları içerir. Sunucunuzdaki terminal ile bağlanarak başlayın ve aşağıdaki çözümlerden biriyle devam edin.
1. YOL: Parola Kimlik Doğrulamasını Etkinleştirin
SSH sunucusuna erişmek için bir parola kullanmak istiyorsanız, İzin reddedildi hatasını düzeltmenin bir yolu , dosyada parolayla oturum açmayı etkinleştirmektir sshd_config dosyasını düzenleyin.
Bunu yapmak için dosyayı bir metin düzenleyicide açın. Bu kod ile , nano düzenleyici kullanabilirsiniz.
sudo nano /etc/ssh/sshd_config
Dosya satırında bulunan PasswordAuthentication YES olacak şekilde düzenleyin
Dosya satırında bulunan ChallengeResponseAuthentication NO olacak şekilde düzenleyin
Dosyayı kaydet ve çıkınız.
Aşağıdaki komutu yazarak SSH hizmetini yeniden başlatın:
sudo systemctl restart sshd
2. YOL: Dosya Sistemi İzinlerini Değiştirin
Bu yönentem güvenlik nedeniyle pek önerilmez . Bu nedenle, 1.yol ile sorun giderilmez ise bu çözüm tercih edilebilir .
sshd_config İlk olarak, dosyayı bir metin düzenleyici kullanarak açın :
sudo nano /etc/ssh/sshd_config
Dosyada iligi satırları aşağıdaki gibi düzenleyiniz.
PermitRootLogin no PubkeyAuthentication yes
Satırın başına # işareti ekleyerek GSSAPI ile ilgili satırları yorum satırı haline getirin.
#GSSAPIAuthentication yes
#GSSAPICleanupCredentials no
UsePAM satırını aşağıdaki gibi ayarlayın.
UsePAM yes
Dosyayı kaydedin ve sshd hizmetini yeniden başlatın:
systemctl restart sshd
Şimdi home klasörünüze gidin ve izinleri kontrol edin:
ls -ld
Sahip izinleriniz okuma, yazma ve çalıştırma olarak ayarlanmamışsa drwx——, bunları değiştirmek için chmod komutunu kullanın:
chmod 0700 /home/[SİZİN HOME DİZİNİNİZ]
Şimdi klasöre gidin .ssh dosyası ile ilgili izinleri tekrar kontrol edin:
ls -ld
Bu dizin ayrıca dosya sahibi için okuma, yazma ve yürütme izinlerine sahip olmalıdır. Bunları zorlamak için chmod tekrar kullanın:
chmod 0700 /home/sizin home dizininiz/.ssh
Klasör dosyayı .ssh içerir authorized_keys. aşağıdaki kod ile kontrol edelim.
ls -ld authorized_keys
Dosya sahibi okuma ve yazma izinlerine sahip olmalıdır. Bunları ayarlamak için şunu kullanın:
chmod 0600 /home/[sizin home dizininiz]/.ssh/authorized_keys
Şimdi Tekrar bağlantı kurmayı