Skip to content

Linux’ta SSH Anahtar Kimlik Doğrulaması Nasıl Kurulur

23 de Mayıs de 2021

Secure Shell, uzak bir Linux sunucusunda veya masaüstünde oturum açmanın en popüler yoludur. Bu aracı kullanarak, güvenli bir tünel aracılığıyla uzaktaki bir makinedeki komut satırına erişim elde edersiniz. Kutunun dışında, uzaktaki kullanıcının şifresini yazacaksınız. Bu yöntem eskisinden daha güvenli olsa da (telnet gibi), SSH Anahtar Kimlik Doğrulaması ile onu daha da güvenli hale getirebilirsiniz.

Anahtar Kimlik Doğrulaması nedir?

Bir kilidiniz olduğunu ve bu kilidi açmanın tek yolunun, kilidin size ait olduğunu bildiği belirli bir anahtar olduğunu hayal edin. Kilit, anahtarın size ait olduğunu nereden biliyor? Çünkü anahtar size özel bir imza içeriyor. Kilidin içinde, anahtarın karşılaştırma için kullandığı eşleşen bir imza vardır. İmzalar eşleşirse kilit açılacaktır. Anahtar sığarsa, ancak imzalar eşleşmezse, kilit açılmaz. SSH Anahtar Kimlik Doğrulamasının gerçek hayatta nasıl çalıştığı, bir anahtar çifti (özel ve genel bir kod içeren) oluşturmanız ve genel anahtarı oturum açmak istediğiniz sunucuya kopyalamanızdır. Anahtar kimlik doğrulaması ile oturum açmaya çalışırsanız ve sunucu, özel anahtarınızla eşleşen genel anahtara sahip değilse, erişmenize izin vermez.

SSH Anahtar Çifti Nasıl Oluşturulur

Yapılacak ilk şey, bilgisayarınızın oturum açma kimliklerini doğrulamak için kullanacağı kodları oluşturan bir SSH Anahtar Çifti oluşturmaktır. İşte nasıl yapılacağı.

  1. Masaüstünüzde bir terminal penceresi açın.

  2. Şu komutu verin: ssh-keygen

  3. Anahtara bir ad ve konum verin. Basın Giriş / Dönüş Terminal’in görüntüleyeceği varsayılan konumu kullanmak için klavyenizde.

    SSH anahtarının konumu

  4. Anahtar için bir parola girin ve doğrulayın. Bu parolanın güçlü ve benzersiz olduğundan emin olun.

    Anahtar için bir parola girin

  5. Artık bir SSH anahtar çiftiniz var. Bu iki dosyayı şurada bulacaksınız: ~ / .sshve isimleri şöyle olacak:

    • id_rsa – Özel anahtar.
    • id_rsa.pub – Genel anahtar.

Genel Anahtarınızı Uzak Makineye Kopyalayın

Daha sonra, genel anahtar dosyasını oturum açmak istediğiniz uzak makineye kopyalamanız gerekir. Bunu yapmak için şu komutu girin: ssh-copy-id USER @ REMOTE_IP

type = “code”> Burada USER, uzak makinedeki bir kullanıcı adı ve REMOTE_IP, uzak makinenin IP adresidir.

Ssh-copy-id komutuna bir örnek

Bu, uzak makineye ilk kez güvenli bir şekilde yerleştiriliyorsa, bağlantıyı onaylamanız gerekir. Aksi takdirde, uzak makinede kullanıcı parolasını yazmanız istenir. Uzak parolanızı başarıyla yazdıktan sonra, bağlantıyı test etmeye hazırsınız.

Bağlantının Test Edilmesi

Şu komutu vererek bağlantıyı test edin: ssh USER @ REMOTE_IP

type = “code”> Burada USER, uzak makinedeki bir kullanıcı adı ve REMOTE_IP, uzak makinenin IP adresidir.

Terminal'deki ssh komutuna bir örnek

SSH anahtar çifti parolası için bir istem alacaksınız. Doğru anahtar parolasını yazdıktan sonra, uzak makineye erişeceksiniz.

Parola Doğrulamayı Devre Dışı Bırakma

Parola kimlik doğrulamasını devre dışı bırakarak güvenliği bir adım öteye taşıyabilirsiniz. Bu yapılandırma yerinde olduğunda, uzak makineye erişim sağlamanın tek yolu, eşleşen çiftten özel anahtarı içeren bir makineden geçer. Başka bir deyişle, anahtar çifti yok, erişim yok. Parola kimlik doğrulamasını devre dışı bırakmak için uzak makinede oturum açın ve şu komutu verin: sudo nano / etc / ssh / sshd_config

type = “code”> Bu dosyada şu satırı arayın: #PasswordAuthentication yes

type = “code”> Bu satırı şu şekilde değiştirin: PasswordAuthentication no

type = “code”> Dosyayı kaydedin ve kapatın. SSH’yi şu komutla yeniden başlatın: sudo systemctl restart sshd

tür = “kod”>

Komut istemi.

Şimdi, o uzak makinede özel anahtarı içermeyen herhangi bir masaüstünden (veya sunucudan) oturum açmaya çalışırsanız, sistem erişiminizi reddedecektir.