SSH İzni Reddedildi (publickey) Hatası Nasıl Çözülür

How Resolve Ssh Permission Denied Error



SSH anahtarları, her oturum açmada parolaya ihtiyaç duymadan SSH oturumlarının kimliğini doğrulamak için harika bir yöntemdir. Ancak tüm teknolojiler gibi SSH anahtarları da mükemmel değildir ve bunları kullanırken hatalarla karşılaşabilirsiniz. SSH anahtarlarıyla çalışırken en yaygın hatalardan biri, izin reddedildi (publickey) hatasıdır.

Bu makale, bu hatanın çeşitli nedenlerini tartışacak ve size hatayı düzeltmek için atabileceğiniz hızlı adımları gösterecektir.







Hata 1: Yetkili Anahtarlar ve Dizin İzinleri

Bu hatanın nedenlerinden biri, .ssh dizini ve yetkili_anahtarlar dosyası için yapılandırılmış izinler ve sahiplik olabilir.



Bu sorunu çözmek için .ssh dizin izinlerini 700'e ve yetkili_anahtar izinlerini 6oo'ya ayarlayın.



sudo chmod 700~/.sshsudo chmod 600yetkili_anahtarlar

Hata 2: SSH Yanlış Yapılandırmaları

Publickey hatasının diğer bir yaygın nedeni, sshd_config dosyasındaki yanlış bir yapılandırmadır. Bu sorunu çözmek için /etc/ssh/sshd_config dosyasını düzenleyin ve aşağıdaki girişleri değiştirin.

#PermitRootLogin yasaklama şifresi
#PasswordAuthentication evet

Yukarıdaki girişler aşağıda gösterildiği gibi olmalıdır:

İzin VerKökGirişEvet

Şifre DoğrulamaEvet

Yapılandırmayı kaydedin ve hizmeti yeniden başlatın:

sudosystemctl sshd.service'i yeniden başlat

Hata 3: Eksik Anahtarlar

Publickey izni reddedildi hatasının bir başka olası nedeni, yerel makinenizdeki eksik anahtarlar olabilir. Anahtarlarınızı sunucunun yetkili_anahtarları dosyasına eklediyseniz ancak karşılık gelen özel anahtarlar eksikse, bu bir hataya neden olabilir.

Bu sorunu çözmek için aşağıdaki gibi ssh yapılandırma dosyasını düzenleyin, ortak anahtar kimlik doğrulamasını devre dışı bırakın ve parola ile oturum açmayı etkinleştirin:

PubkeyAuthenticationEvet

#PasswordAuthentication evet

Aşağıdaki girişlere değiştirin:

#PubkeyAuthentication evet
Şifre DoğrulamaEvet

Yapılandırmayı düzenledikten sonra dosyayı kaydedin ve SSH hizmetini yeniden başlatın:

sudosystemctl sshd.service'i yeniden başlat

Anahtarlarınızın güvenliğinin ihlal edildiğinden eminseniz, bunları yetkili_anahtarlardan kaldırabilir veya SSH'de iptal edilenler listesine belirli bir anahtar ekleyebilirsiniz.

Çözüm

Bu hızlı kılavuz, SSH'de izin reddedildi (publickey) hatasına neden olabilecek çeşitli sorunları nasıl çözeceğinizi gösterdi. Bu sorun devam ederse, diğer sorun giderme yöntemlerini göz önünde bulundurun.