Linux sistemlerinize SSH ile bağlantı sağlarken sürekli parola yazmak can sıkıcı bir hal alabilir. Buna çözüm olarak SSH Keygen ile şifresiz erişim sağlayabilirsiniz. Ayrıca bu yöntem uzaktan otomatik yedekleme, uzaktan script çalıştırma, uzaktan dosya transferi yapma gibi birçok işlem için parola girmek yerine tercih edilen ideal bir yöntemdir.

Örnek yapımızda Sunucu1 ve Sunucu2 olarak iki adet linux tabanlı sunucu olacak. Bu sunucular arasında Sunucu1 üzerinden Sunucu2 ‘ye parolasız erişim sağlanacak şekilde konfigürasyon yapılacaktır.

1.Adım: Sunucu1’de SSH-Keygen ile doğrulama anahtarı oluşturunuz.

[[email protected] ~]$ ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/home/musab/.ssh/id_rsa): [Entera basınız]
Created directory '/home/musab/.ssh'.
Enter passphrase (empty for no passphrase): [Entera basınız]
Enter same passphrase again: [Entera basınız]
Your identification has been saved in /home/musab/.ssh/id_rsa.
Your public key has been saved in /home/musab/.ssh/id_rsa.pub.
The key fingerprint is:
af:bc:25:72:d4:04:65:d9:5d:11:f0:eb:1d:89:50:4c [email protected]
The key's randomart image is:
+--[ RSA 2048]----+
| ..oooE.++|
| o. o.o |
| .. . |
| o . . o|
| S . . + |
| . . . o|
| . o o ..|
| + + |
| +. |
+-----------------+


2.Adım:
Sunucu2’de şifresiz erişim sağlamak istediğiniz kullanıcı dizinine “.ssh” dizinini oluşturunuz.

[[email protected] ~]$ cd /home/musab/
[[email protected] ~]$ mkdir .ssh


3.Adım:
Sunucu1’de oluşturduğunuz key dosyasını Sunucu2’ye upload ediniz.

[[email protected] ~]$ cat .ssh/id_rsa.pub | ssh [email protected] 'cat >> .ssh/authorized_keys'
The authenticity of host 'sunucu2 (sunucu2)' can't be established.
RSA key fingerprint is db:5a:50:82:0c:2e:54:6e:9c:8a:07:e9:a1:76:6a:10.
Are you sure you want to continue connecting (yes/no)? [yes yazınız]
Warning: Permanently added 'sunucu2' (RSA) to the list of known hosts.
[email protected]'s password: [Sunucu2 parolasını giriniz]


4.Adım:
Sunucu2’de .ssh dizini ve upload ettiğiniz key dosyası izinlerini düzenleyiniz.

[[email protected] ~]$ chmod 700 .ssh 
[[email protected] ~]$ chmod 640 .ssh/authorized_keys


5.Adım:
Sunucu1’den Sunucu2’ye şifresiz erişim sağlamayı deneyiniz.

[[email protected] ~]$ ssh [email protected]
Last login: Fri Oct 10 00:21:57 2014 from 10.10.10.25
[[email protected] ~]$ hostname
sunucu2

1817_ssh2

2 Thoughts on “SSH Keygen ile Şifresiz SSH Erişimi

  1. Adnan 16 Aralık 2014 14:26 tarihinde yorum yaptı:

    Merhaba,
    Güzel ve yalın anlatımınız için teşekkürler. Anlayamadığım nokta oluşturulan key dosyasının özellikleri ve konunun çalışma mantığı konusunda açıklayıcı bir satır bulamadım. Yardımcı olabilir misiniz?

    • Musab Yardım 17 Aralık 2014 01:51 tarihinde yorum yaptı:

      Merhaba,

      Dosyalar/Terimler ve görevleri;

      -“id_rsa” dosyası sizin özel anahtarınızı (private key) içerir. Bu dosyayı kimsenin görmemesi gerekir.
      -“id_rsa.pub” dosyası ise açık anahtarınızı (public key) içerir. Herhangi bir gizliliği yoktur.
      -“Public key” herkes tarafından görülebilir ve sadece verilerin şifrelenmesi amacıyla kullanılır.
      -“Private key” sadece eşlenik public key tarafından kodlanmış şifrelerin çözümlenmesi esnasında devreye girer.

      Çalışma Mantığı;

      -Makalede yazdığım üzere Sunucu1’de oluşturulan public ve private keylerden public olan Sunucu2’ye gönderiliyor. (authorized_keys dosyasına)
      -Sunucu1’den Sunucu2’ye ssh ile erişim sağlamak istediğinizde Sunucu2’de ki authorized_keys (public key) ‘e bakıyor.
      -Burada bulunan Public key ‘lerden biri ile Sunucu1’deki private key uyumlu ise doğrulama/authentication gerçekleşiyor.
      -Ayrıca farklı sunuculardan Sunucu2’ye erişim için, bu sunucularda oluşturduğunuz puclic key’leri Sunucu2’de ki authorized_keys dosyasının sonuna eklemeniz gerekmektedir.

      İyi çalışmalar.

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Time limit is exhausted. Please reload CAPTCHA.

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Post Navigation