SSH Public Key Nedir?
Öncelikle, SSH public key nedir, biraz buna göz atalım. SSH, bir bilgisayar ile başka bir bilgisayar arasında güvenli bir bağlantı kurmanızı sağlayan bir protokoldür. Public key (açık anahtar) ise, bu güvenli bağlantıyı kurarken kullanılan bir kimlik doğrulama yöntemidir. Yani, SSH bağlantısı kurarken, private key (özel anahtar) ile eşleşen public key’i kullanarak kimliğinizi doğrulamanız gerekir. Ancak bazen işler yolunda gitmeyebilir ve bağlantı kurmaya çalıştığınızda bir hata mesajı alabilirsiniz.
En Yaygın SSH Public Key Hataları
Bakalım hangi hatalarla karşılaşıyoruz?
1. Permission Denied (publickey)
Bu hata, SSH bağlantısı kurmaya çalışırken sıkça karşılaşılan bir hatadır. Çoğu zaman, SSH anahtarınızın doğru şekilde yapılandırılmamış olmasından kaynaklanır.
Çözüm:
Öncelikle, doğru public key’i kullandığınızdan emin olun. Sunucunuza doğru bir şekilde public key eklediğinizden emin olmalısınız. Ayrıca, private key’inizin doğru klasörde ve doğru izinlerle saklandığından emin olmalısınız. Örneğin:
chmod 600 ~/.ssh/id_rsa
chmod 700 ~/.ssh
Bu komutlar, private key’inizin güvenliğini sağlar. Ayrıca, ~/.ssh/authorized_keys dosyasının doğru şekilde ayarlandığını kontrol edin.
2. No Supported Authentication Methods Available
Eğer bu hatayı alıyorsanız, SSH sunucusu, kullanmaya çalıştığınız anahtarı kabul etmiyor olabilir. Bu durum genellikle yanlış anahtar türü kullanıldığında ya da sunucuda SSH konfigürasyon hatası olduğunda görülür.
Çözüm:
Sunucunuzun SSH konfigürasyon dosyasını kontrol edin. Eğer public key doğrulamasını aktif hale getirmediyseniz, şu şekilde ayar yapmalısınız:
sudo nano /etc/ssh/sshd_config
Aşağıdaki satırları doğru şekilde yapılandırdığınızdan emin olun:
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
Değişiklikleri kaydettikten sonra SSH servisini yeniden başlatmayı unutmayın:
sudo systemctl restart sshd
3. Public Key’i Sunucuya Yüklememek
Bu hata, public key’inizi sunucuya yüklemediğinizde veya yanlış bir dosyaya yüklediğinizde meydana gelir. Eğer anahtarınız doğru şekilde yüklendiyse, bu hatayı almanız imkansızdır.
Çözüm:
Sunucunuzda ~/.ssh/authorized_keys dosyasının doğru şekilde yer aldığını kontrol edin. Eğer dosya yoksa, oluşturun ve public key’inizi buraya ekleyin. Örneğin:
cat ~/.ssh/id_rsa.pub | ssh user@server 'cat >> ~/.ssh/authorized_keys'
Bu komutla, public key’inizi sunucuya yükleyebilirsiniz. Ayrıca, dosya izinlerini kontrol etmek de önemlidir:
chmod 600 ~/.ssh/authorized_keys
chmod 700 ~/.ssh
Sonuç olarak
SSH bağlantılarında public key hataları sık karşılaşılan bir sorun olsa da, genellikle yukarıdaki çözümlerle kolayca düzeltilebilir. Anahtarlarınızın doğru yapılandırıldığından, izinlerin doğru şekilde ayarlandığından ve public key’in doğru sunucuya yüklendiğinden emin olduğunuz sürece sorunsuz bir şekilde SSH bağlantısı kurabilirsiniz.
Eğer yukarıdaki çözümleri denediyseniz ancak hala aynı hatayı alıyorsanız, SSH loglarını kontrol etmek faydalı olabilir. Sunucunuzun log dosyalarına şu şekilde erişebilirsiniz:
sudo tail -f /var/log/auth.log
Bu loglar, yaşadığınız problemi daha detaylı anlamanıza yardımcı olabilir.
Umarım bu yazı, SSH bağlantı sorunlarınızı çözmede size yardımcı olur! Keyifli bağlantılar dilerim!