Linux'ta SSH Public Key Hatası ve Çözümü: Sorununuzu Kolayca Çözün

Bu yazıda, Linux'ta SSH public key hatalarını nasıl çözebileceğinizi adım adım anlattık. SSH bağlantı hataları ve çözüm yollarını keşfederek, güvenli bir şekilde uzak sunuculara bağlanmanın yollarını öğrendiniz.

BFS

Bir gün bilgisayarınızı açtınız, SSH üzerinden bir uzak sunucuya bağlanmak istediniz. Tam her şey hazır gibi gözükürken, bir anda korkunç bir hata mesajı karşınıza çıktı: "Permission denied (publickey)". Bunu gördüğünüzde, tüyleriniz diken diken olmuş olabilir. Ama endişelenmeyin, yalnız değilsiniz. SSH public key hataları, Linux kullanıcıları arasında oldukça yaygın bir sorun. Şimdi gelin, bu problemi birlikte çözelim.

SSH Public Key Nedir?
Öncelikle SSH public key kavramından biraz bahsedelim. SSH, uzaktaki bir sunucuya güvenli bir şekilde bağlanmanızı sağlayan bir protokoldür. Public key ise, bu bağlantıyı şifrelemek için kullanılan bir anahtar çiftidir. Public key, sunucuda saklanırken, private key bilgisayarınızda gizli kalır. Bu anahtar çiftleri, güvenli ve şifreli bir bağlantı kurmanıza olanak tanır. İşte tam bu noktada, bağlantıyı kurmaya çalışırken karşımıza çıkabilecek SSH public key hatalarını çözmemiz gerekiyor.

### "Permission Denied (publickey)" Hatası
Bu hata, genellikle public key'inizi doğru bir şekilde yüklemediğinizde meydana gelir. SSH, private key'inizle eşleşmeyen bir public key gördüğünde bağlantıyı reddeder. Ancak, bu hatayı almanızın birkaç nedeni olabilir. Gelin, birlikte adım adım çözüm yollarına bakalım.

Adım 1: Public Key'inizi Kontrol Edin
İlk yapmanız gereken şey, public key'in doğru şekilde oluşturulup oluşturulmadığını kontrol etmek. Terminal ekranınızı açın ve aşağıdaki komutu kullanarak anahtarlarınızı kontrol edin:


ls ~/.ssh


Burada, `id_rsa.pub` veya benzeri bir public key dosyasının olup olmadığına bakın. Eğer yoksa, SSH anahtar çiftini oluşturmanız gerekecek.

Adım 2: SSH Anahtarınızı Oluşturun
Eğer public key dosyanız yoksa, bir tane oluşturmak için şu komutu kullanabilirsiniz:


ssh-keygen -t rsa -b 4096 -C "your_email@example.com"


Bu komut, RSA algoritmasıyla 4096 bit uzunluğunda bir anahtar çifti oluşturur. Anahtarın bir parçası `id_rsa` (private key) ve diğeri `id_rsa.pub` (public key) olarak kaydedilecektir. Oluşturduktan sonra, public key'inizi sunucunuza yüklemeniz gerekiyor.

Adım 3: Public Key'inizi Sunucuya Yükleyin
Şimdi, public key’inizi uzak sunucuya göndereceğiz. Bunun için şu komutu kullanabilirsiniz:


ssh-copy-id username@remote_host


Bu komut, `~/.ssh/id_rsa.pub` dosyasındaki public key'i, uzak sunucudaki `~/.ssh/authorized_keys` dosyasına ekler. Burada, `username` yerine sunucunuzdaki kullanıcı adınızı, `remote_host` yerine ise sunucunuzun IP adresini veya domain adını yazmalısınız.

Adım 4: Sunucunun SSH Yapılandırmasını Kontrol Edin
Bazen, sunucunuzun SSH yapılandırması, public key kullanımı için uygun şekilde ayarlanmamış olabilir. Sunucunuza giriş yaptıktan sonra, aşağıdaki dosyayı kontrol edin:


sudo nano /etc/ssh/sshd_config


Bu dosyada, şu satırların doğru şekilde ayarlandığından emin olun:


PubkeyAuthentication yes
AuthorizedKeysFile     .ssh/authorized_keys


Eğer bu satırlar yoksa veya yanlışsa, düzeltip SSH servisini yeniden başlatmanız gerekir:


sudo systemctl restart ssh


Adım 5: Private Key’i Doğru Kullanıp Kullanmadığınızı Kontrol Edin
Eğer her şey doğru görünüyorsa ama hala aynı hatayı alıyorsanız, private key’inizin doğru şekilde kullanıldığından emin olun. `ssh` komutunu kullanırken doğru private key’inizi belirtmek için şu komutu kullanabilirsiniz:


ssh -i ~/.ssh/id_rsa username@remote_host


Adım 6: SSH Agent ile Private Key’inizi Yükleyin
Eğer private key’iniz SSH agent’ınıza yüklenmemişse, bu da bağlantı sorunlarına yol açabilir. SSH agent’ınızı başlatıp key’inizi eklemek için şu komutları kullanabilirsiniz:


eval $(ssh-agent -s)
ssh-add ~/.ssh/id_rsa


Sonuç
SSH public key hataları, genellikle basit yapılandırma hatalarından kaynaklanır. Ancak, yukarıda anlattığımız adımları dikkatlice takip ederek bu sorunu kolayca çözebilirsiniz. Artık SSH üzerinden güvenli bir şekilde uzak sunucunuza bağlanabilirsiniz!

Unutmayın, SSH anahtarları güvenliğiniz için çok önemlidir. Bu yüzden, anahtarlarınızı doğru bir şekilde oluşturduğunuzdan ve sakladığınızdan emin olun.

İlgili Yazılar

Benzer konularda diğer yazılarımız

VPN Kullanırken Güvenlik Hatalarından Kaçınmak: En Yaygın Yapılan 7 Hata ve Çözümleri

**İnternette güvenli gezintiyi sağlamak, modern dünyada her geçen gün daha önemli hale geliyor. Hangi cihazı kullanırsanız kullanın, dijital güvenliğinizi korumak, çoğu zaman zor bir görev gibi görünebilir. Ancak **VPN** (Virtual Private Network - Sanal...

ASP.NET Core 500 Internal Server Error: Sebepleri ve Çözümleri

Bir web geliştiricisi olarak, karşılaştığınız en zorlayıcı hatalardan biri şüphesiz "500 Internal Server Error"dır. Bu hata, web uygulamanızda her şeyin yolunda gittiğini düşündüğünüz bir anda karşınıza çıkabilir ve tüm projeyi durdurabilir. Ancak merak...

Steam İstemcisinin Çökmesi: Sorunları Çözmek İçin Pratik Adımlar

Steam İstemcisinin Çökme Sorunu Neden Olur?Merhaba! Eğer sen de Steam istemcisinin birden bire çökmesiyle karşılaştıysan, yalnız değilsin. Bu, aslında pek çok Steam kullanıcısının karşılaştığı yaygın bir sorun. Steam, oyun dünyasının en popüler platformlarından...