Linux'ta SSH Public Key Hatası ve Çözümü: Adım Adım Rehber

Linux'ta SSH Public Key Hatası ve Çözümü: Adım Adım Rehber

Bu yazı, Linux sistemlerinde SSH public key hatalarının nasıl çözüleceğini adım adım anlatan kapsamlı bir rehberdir.

Al_Yapay_Zeka

Herkese merhaba! Bugün bir Linux macerasına atılacağız ve SSH public key hataları ile nasıl başa çıkabileceğimizi öğreneceğiz. Eğer siz de “SSH bağlantım neden çalışmıyor?” diye düşünüyorsanız, yalnız değilsiniz. Bu sorun, çoğu zaman SSH public key hatalarıyla karşımıza çıkıyor ve bazen nedenini anlamak zor olabiliyor. Ancak merak etmeyin, bu yazıda bu hataların kökenine inecek ve sorununuzu nasıl çözeceğimizi adım adım göstereceğiz.

SSH Public Key Nedir?

SSH, yani Secure Shell, Linux sistemlerindeki uzak bağlantılar için çok yaygın kullanılan bir protokoldür. Public key (açık anahtar) ile yapılan bağlantılar, şifreli ve güvenli bir iletişim sağlar. SSH ile bağlanmak için iki anahtar kullanılır: public key (açık anahtar) ve private key (özel anahtar). Public key, sunucuya yüklenirken, private key bilgisayarınızda güvenli bir şekilde saklanır. Bu iki anahtar birbirini tamamlar ve sistemin güvenliğini sağlar.

Ancak, bazen bu anahtarlar doğru şekilde eşleşmez ve SSH bağlantınızda çeşitli hatalarla karşılaşabilirsiniz.

SSH Public Key Hatası Nedir?



SSH public key hataları, genellikle yanlış anahtarın kullanılması, izinlerin yanlış ayarlanması ya da anahtar dosyasının bozulması gibi nedenlerle ortaya çıkar. Bu hatalar bağlanmak istediğiniz sunucuya giriş yapmanızı engelleyebilir. Örneğin, bir hata mesajı şu şekilde olabilir:


Permission denied (publickey).


Bu mesaj, bağlantınızın public key ile doğrulanmadığını ve giriş yapmak için uygun izniniz olmadığını gösteriyor.

SSH Public Key Hatasının Çözümü



Şimdi hep birlikte bu hatayı nasıl çözebileceğimizi görelim. Adım adım ilerleyeceğiz, sakin olun! :)

Adım 1: Public ve Private Key Dosyalarının Doğru Olduğundan Emin Olun

İlk olarak, kullanmakta olduğunuz public ve private key dosyalarının doğru olduğundan emin olun. Public key genellikle `~/.ssh/id_rsa.pub` gibi bir dosyada bulunur. Private key ise `~/.ssh/id_rsa` gibi bir dosyada yer alır.

Bu dosyaların doğru yerlerde olup olmadığını kontrol etmek için terminalde şu komutları kullanabilirsiniz:


ls ~/.ssh/


Eğer dosyalar burada değilse, anahtarları yeniden oluşturmanız gerekebilir. Anahtarları oluşturmak için şu komutu kullanabilirsiniz:


ssh-keygen -t rsa -b 2048


Bu komut yeni bir public ve private key çifti oluşturacaktır. Oluşan dosyalar `~/.ssh/id_rsa` (private key) ve `~/.ssh/id_rsa.pub` (public key) şeklinde kaydedilecektir.

Adım 2: Public Key'in Sunucuya Yüklenmesi

Şimdi, public key dosyanızın sunucuya doğru şekilde yüklendiğinden emin olmanız gerekiyor. Bu işlemi şu şekilde gerçekleştirebilirsiniz:


ssh-copy-id user@sunucu_ip_adresi


Bu komut, public key’inizi sunucudaki `~/.ssh/authorized_keys` dosyasına ekleyecektir. Eğer sunucunuzda `ssh-copy-id` komutu bulunmuyorsa, manuel olarak da bu işlemi yapabilirsiniz. Önce public key’inizi kopyalayın:


cat ~/.ssh/id_rsa.pub


Sonrasında sunucuya bağlanıp, `~/.ssh/authorized_keys` dosyasına ekleyin:


nano ~/.ssh/authorized_keys


Public key’inizi buraya yapıştırın ve dosyayı kaydedin.

Adım 3: İzinlerin Doğru Olduğundan Emin Olun

Eğer her şey doğru şekilde yüklendiği halde hala bağlantı sağlanamıyorsa, izinler sorun yaratıyor olabilir. Hem public key’in hem de `~/.ssh` dizininizin doğru izinlere sahip olduğundan emin olun. Doğru izinleri ayarlamak için şu komutları kullanabilirsiniz:


chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys


Bu komutlar, `.ssh` dizininin ve `authorized_keys` dosyasının doğru güvenlik izinlerine sahip olmasını sağlar.

Adım 4: SSH Konfigürasyonunu Kontrol Edin

Bir diğer önemli konu da SSH konfigürasyon dosyasıdır. Bu dosyada bazı ayarlar, public key ile bağlantıları engelliyor olabilir. Konfigürasyon dosyasını açın:


sudo nano /etc/ssh/sshd_config


Aşağıdaki satırların aktif olduğundan emin olun:


PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys


Yaptığınız değişikliklerin geçerli olabilmesi için SSH servisini yeniden başlatmayı unutmayın:


sudo systemctl restart sshd


Adım 5: SSH Bağlantınızı Test Edin

Tüm bu adımları tamamladıktan sonra, artık SSH bağlantınızı test edebilirsiniz. Terminal üzerinden şu komutu kullanarak sunucuya bağlanmayı deneyin:


ssh user@sunucu_ip_adresi


Eğer her şey yolunda gittiyse, SSH bağlantınız başarılı olmalıdır.

Sonuç



Gördüğünüz gibi, SSH public key hatalarını çözmek aslında oldukça basit. Yapmanız gereken tek şey, doğru anahtarları kullanmak, izinleri düzgün ayarlamak ve konfigürasyonları kontrol etmek. Birkaç küçük hata düzeltmesiyle, güvenli bir şekilde sunucunuza bağlanabilirsiniz.

Şimdi, Linux dünyasına daha sağlam adımlarla devam edebilirsiniz. Herhangi bir sorunla karşılaşırsanız, bu adımları tekrar gözden geçirmekten çekinmeyin. Umarım bu yazı, SSH bağlantılarınızla ilgili yaşadığınız sorunları çözmenize yardımcı olmuştur.

İlgili Yazılar

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

Bulut Bilişimin Geleceği: Azure ve AWS Karşılaştırması – Hangi Platform Hangi İşler İçin Daha Uygun?

Teknolojinin her geçen gün daha hızlı bir şekilde geliştiği bu dijital çağda, bulut bilişim hayatımıza her yönüyle entegre olmaya devam ediyor. İşletmeler için büyük fırsatlar sunan bu devrimsel teknoloji, doğru platformu seçmek için de doğru bilgilere...

Prometheus Veri Toplama Hatası ve Çözümü: Sorunlarınızı Adım Adım Çözün

Merhaba! Bugün, Linux üzerinde Prometheus kullanırken karşılaştığınız yaygın veri toplama hatalarından nasıl kurtulabileceğinizi anlatacağım. Eğer Prometheus'u kullanmaya yeni başlıyorsanız veya sisteminizde beklenmedik bir hata alıyorsanız, bu yazı tam...

JavaScript "undefined is not a function" Hatası: Neyin Yanlış Gittiğini Nasıl Anlarsınız?

JavaScript'teki En Yaygın ve Sinir Bozan Hata: "undefined is not a function"Her JavaScript geliştiricisi, bir noktada bu hata ile karşılaşmıştır. Yazdığınız kodu çalıştırdığınızda, karşınıza çıkan "undefined is not a function" hatası, çoğu zaman oldukça...

Kubernetes ile Mikroservislerinizi Yönetmenin 5 Sıra Dışı Yolu

Mikroservis mimarisi ile uygulama geliştirmek, devrim niteliğinde bir yenilik sundu. Ancak mikroservislerin sağlıklı ve verimli bir şekilde çalışması için güçlü bir altyapıya ihtiyacınız var. İşte bu noktada Kubernetes devreye giriyor. Bugün, Kubernetes’in...

Ansible ile Linux'ta Otomasyon: Sistem Yöneticilerinin Yeni Süper Gücü

Hayal et, Linux üzerinde birden fazla sunucu yönetiyorsun. Her birini tek tek yapılandırmak, güncellemek ve bakım yapmak ne kadar zaman alır? Cevap basit: Çok fazla! Bu noktada, sana bir süper güç verecek bir araçtan bahsedeceğim: Ansible. Ansible, sistem...

PostgreSQL "Password Authentication Failed" Hatası: Nedenleri ve Çözümleri

PostgreSQL'de "Password Authentication Failed" Hatası ile Karşılaşmak PostgreSQL kullanırken karşılaşılan en yaygın hatalardan biri olan **"Password Authentication Failed"** hatası, çoğu zaman kullanıcıları ve geliştiricileri zor durumda bırakır. Bu hata,...