İzin Reddedildi Hatası (Publickey) nasıl düzeltilir?

Yayınlanan: 2024-01-10
İçindekiler
  • Neden Önemlidir?
  • Güvenli Bilgisayar Bağlantılarının Temelleri
  • Kilidin Anahtarı: Genel Anahtarlar
  • Bu Hata Neden Oluşuyor?
  • Nasıl Düzeltilir
  • Hala Çalışmıyorsa Ekstra İpuçları
  • Sorunsuz Çalışmasını Sağlamak
  • SSS
  • Diğer kaynaklar
  • Kapanış

Bilgisayarınızı kullanırken hiç “Hata: İzin Reddedildi (Publickey)” mesajıyla karşılaştınız mı? Bu, genellikle bilgisayarların birbirleriyle güvenli bir şekilde konuşmasının bir yolu olan SSH bağlantıları sırasında ortaya çıkan yaygın bir hatadır.

Bunu kilide uymayan bir anahtarı kullanmaya çalışmak gibi düşünün. Bu hatayı gördüğünüzde, güvenlik kurulumundaki bir şey eşleşmediğinden bilgisayarınızın başka bir bilgisayarla güvenli bağlantı kurmada sorun yaşadığı anlamına gelir.

Hata nasıl düzeltilir: İzin Reddedildi (Publickey)

Neden Önemlidir?

SSH ile yapılanlar gibi güvenli bağlantılar, gürültülü bir odada özel bir görüşme yapmaya benzer. Özellikle sırlarınızı veya kişisel bilgilerinizi paylaşıyorsanız herkesin kulak misafiri olmasını istemezsiniz, değil mi? Bu yüzden bu hatayı düzeltmek çok önemlidir.

Bilgisayarınızın konuşmalarını özel ve güvenli tutarak şifreler gibi hassas bilgilerin gizli kalmasını sağlar.

Güvenli Bilgisayar Bağlantılarının Temelleri

Şimdi SSH'nin ne olduğuna bakalım.

SSH, Secure Shell anlamına gelir ve bilgisayarların internet üzerinden birbirleriyle süper güvenli bir şekilde konuşmasının özel bir yoludur. SSH'yi iki bilgisayarı birbirine bağlayan özel bir tünel gibi düşünün.

Yalnızca bu iki bilgisayar bu tünel aracılığıyla birbirlerine mesaj gönderebilir ve konuşmalarını gizlice dinleyenlerden koruyabilirler.

Kilidin Anahtarı: Genel Anahtarlar

Bu tüneli güvenli hale getirmek için SSH, 'ortak anahtar kimlik doğrulaması' adı verilen bir şey kullanır. Bu, özel bir şifreye sahip olmak gibidir, ancak anahtar biçimindedir. Bilgisayarınızın diğer bilgisayarla paylaştığı benzersiz bir anahtarı (ortak anahtar adı verilir) vardır.

Bunu gizli bir el sıkışma gibi düşün. El sıkışma eşleşmezse bağlantı kurulmaz ve o zaman "Hata: İzin Reddedildi (Publickey)" mesajını görürsünüz.

Bu Hata Neden Oluşuyor?

Peki neden bu hatayı görüyorsunuz? Birkaç yaygın neden vardır:

  1. Temel Sorunlar: Bazen hata, özel anahtarınızın kurulumunda bir sorun olduğu için ortaya çıkar. Belki bilgisayarınızdaki anahtar, konuşmaya çalıştığınız bilgisayardaki anahtarla eşleşmiyor olabilir. Bu, yuvarlak bir deliğe kare bir çivi yerleştirmeye benziyor; işe yaramıyor.
  2. Yanlış Ayarlar: Bazen bilgisayarınızdaki ayarlar veya izinler yanlış ayarlanmış olabilir. Bu, doğru anahtara sahip olmanıza rağmen onu kilide çevirememeniz gibi, bilgisayarınızın anahtarı düzgün kullanmasını engelleyebilir.

Nasıl Düzeltilir

Artık bu hatanın neden oluştuğunu biraz anladığınıza göre, nasıl düzeltebileceğinizden bahsedelim. İzleyebileceğiniz bazı adımlar şunlardır:

SSH Anahtar İzinlerini Doğrulayın:

Özel anahtarınız için doğru izinleri ayarlayın.

 chmod 600 ~/.ssh/id_rsa chmod 600 ~/.ssh/autorized_keys

Genel anahtarınızın sunucuda ~/.ssh/authorized_keys konumunda olduğundan emin olun. Değilse, şunu kullanarak ekleyin:

cat ~/.ssh/id_rsa.pub | ssh kullanıcı@anasistem adı 'cat >> ~/.ssh/authorized_keys'.

SSH Bağlantısında Hata Ayıklama

Ayrıntılı bağlantı tanılaması sağlayan ayrıntılı modu etkinleştirmek için ssh -vvv user@hostname komutunu çalıştırın.

Sunucuyu, özellikle de PasswordAuthentication ve PubkeyAuthentication için doğru yapılandırmalar açısından kontrol edin.

kedi vb/ssh/sshd_config

Ek Çözümler:

SSH bağlantısı için doğru kullanıcı adını kullandığınızı bir kez daha kontrol edin.

Bağlantıları yenilemek için SSH hizmetini yeniden başlatın.

 sudo systemctl restart sshd

SSH yapılandırma dosyasındaki SSH bağlantı portunu doğrulayın. Varsayılan değer genellikle 22'dir ancak değiştirilmiş olabilir.

ssh portunu kontrol et

Hata ayrıntıları için /var/log/auth.log veya /var/log/secure gibi sunucu günlüklerini kontrol edin.

Hala Çalışmıyorsa Ekstra İpuçları

Bu adımları denediyseniz ve hâlâ hatayı görüyorsanız deneyebileceğiniz birkaç şey daha var:

  1. Konuşma Modu: SSH'de ayrıntılı modunu açın. Bu, bilgisayarınızdan size neyin yanlış gittiğine dair daha fazla ipucu vermesini istemek gibidir. Bunu SSH komutunuza ssh -vvv [email protected] gibi -vvv ekleyerek yapabilirsiniz. Bağlanmaya çalıştığınızda neler olduğu hakkında size çok daha fazla ayrıntı verecektir.
  2. Aracı Sorunları: Bazen sorun, anahtarlarınızı tutan bir araç olan SSH aracısında olabilir. Temsilci düzgün çalışmıyorsa anahtarlarınız doğru şekilde sunulmayacaktır. SSH aracısını yeniden başlatmak bazen yardımcı olabilir.

Sorunsuz Çalışmasını Sağlamak

Gelecekte bu hatayla karşılaşmamak için her şeyin yolunda gitmesini sağlayacak bazı ipuçlarını burada bulabilirsiniz:

  1. Anahtar Bakımı: SSH anahtarlarınıza ev anahtarınız gibi davranın. Onları güvende tutun ve başkalarıyla paylaşmayın. Hala olması gerektiği gibi çalışıp çalışmadıklarını düzenli olarak kontrol edin.
  2. Düzenli Kontroller: Arabanızı veya evinizi herhangi bir soruna karşı düzenli olarak kontrol ettiğiniz gibi, aynısını SSH ayarlarınızla da yapın. Ayarların beklenmedik şekilde değişmediğinden ve anahtarlarınızın güncel olduğundan emin olun.

SSS

SSH'de ortak anahtar kimlik doğrulamasını nasıl ayarlarım?

SSH'de genel anahtar kimlik doğrulamasını ayarlamak için öncelikle ssh-keygen gibi bir komutu kullanarak yerel makinenizde bir SSH anahtar çifti oluşturun. Bu, bir özel anahtar ( id_rsa ) ve bir genel anahtar ( id_rsa.pub ) oluşturur. Daha sonra, genel anahtarı ssh-copy-id user@server_ip kullanarak sunucunun ~/.ssh/authorized_keys dosyasına kopyalayın. authorized_keys dosyasının güvenlik için doğru izinlere (genellikle 600) sahip olduğundan emin olun. Bu kurulum, SSH'nin şifreler yerine anahtar tabanlı kimlik doğrulamasını kullanmasını sağlar.

'SSH İzni Reddedildi (Publickey)' hatasının yaygın nedenleri nelerdir?

  • Bu hatanın yaygın nedenleri şunlardır:
  • SSH anahtar dosyalarında yanlış izinler. Özel anahtar yalnızca kullanıcı tarafından okunabilmelidir (600).
  • SSH yapılandırma dosyalarında yanlış yapılandırma ( sshd_config veya ssh_config ).
  • Geçerli kimlik doğrulama protokollerini desteklemeyebilecek eski SSH istemci veya sunucu yazılımı.
  • SSH bağlantı noktalarını veya bağlantılarını engelleyen güvenlik duvarı veya güvenlik yazılımı.
  • authorized_keys dosyasında genel anahtarın yanlış ayarlanması veya SSH bağlantısı için yanlış bir kullanıcı adı kullanılması.

SSH anahtarımın sunucuya doğru şekilde eklendiğini nasıl doğrulayabilirim?

Doğrulamak için sunucuya giriş yapın ve ~/.ssh/authorized_keys dosyasını kontrol edin. Genel anahtarınız burada listelenmelidir. Sunucuya SSH yapmayı deneyerek de bağlantıyı test edebilirsiniz. Eğer şifre sormuyorsa anahtar doğru eklenmiş demektir.

SSH anahtar dosyalarındaki izinleri kısıtlamak neden önemlidir?

SSH anahtar dosyalarındaki izinlerin kısıtlanması güvenlik açısından çok önemlidir. Başkaları özel anahtarınızı okuyabiliyorsa sunucularınıza erişme potansiyeli vardır. Özel anahtarın güvende tutulması, kimlik doğrulaması için onu yalnızca sizin kullanabilmenizi sağlar.

Sunucunun SSH yapılandırmasındaki değişiklikler 'İzin Reddedildi' hatalarına yol açabilir mi?

Evet, sunucunun SSH yapılandırma dosyasındaki ( etc/ssh/sshd_config ) değişiklikler bu tür hatalara yol açabilir. Örneğin, PubkeyAuthentication no olarak ayarlandıysa, sunucu genel anahtar kimlik doğrulamasını kabul etmeyecek ve bu da izin reddedildi hatasına yol açacaktır.

SSH istemcim güncel değilse ne yapmalıyım?

SSH istemciniz güncel değilse, daha yeni kimlik doğrulama yöntemlerini desteklemiyor olabilir veya yamalanmamış güvenlik açıklarına sahip olabilir. SSH istemcinizi işletim sisteminiz için mevcut olan en son sürüme güncellemeniz önemlidir.

Güvenlik duvarları SSH bağlantılarını nasıl etkiler?

Güvenlik duvarları, SSH bağlantı noktasına erişimi kısıtlayacak şekilde yapılandırılmışlarsa SSH bağlantılarını engelleyebilir (varsayılan 22'dir). Bağlantı sorunlarını önlemek için güvenlik duvarınızın SSH için kullanılan bağlantı noktasındaki trafiğe izin verdiğinden emin olun.

Diğer kaynaklar

Linux 2024'te Sendmail Nasıl Kurulur (Adım Adım)

DevOps için Temel Linux Komutları (El Kitabı)

Kapanış

Bu yazıda “Hata: İzin Reddedildi (Publickey)” hatasının nedenini ve nasıl düzeltileceğini araştırdık. Unutmayın, bu hata, anahtarın kilide uymaması gibidir; bu genellikle SSH anahtarlarınızın ayarlanma veya kullanılma biçiminde bir sorun olduğu anlamına gelir. Özetlediğimiz adımları izleyerek sorunu çözebilir ve diğer bilgisayarlarla güvenli görüşmelere geri dönebilirsiniz.