Linux Üzerinde Ssh-Keygen Yapılandırması

Linux Üzerinde Ssh-Keygen Yapılandırması

Ssh-Keygen yapısında private key ve onu tamamlayan public key olmak üzere iki anahtar bulunur.Kullanıcı private keyini source sunucuda, public keyini target sunucuda bulundurursa bu iki anahtarın eşleşmesi ile şifreler kullanılmadan target sunucuya giriş yapabilir.

Örneğimizde; Oracle Ent. linux 6.5 kurulu iki sunucu arasında password gerektirmeden ssh bağlantısı yapmaya çalışacağız. Yedek kopyalama vb schedule işlemlerde lazım olabiliyor. Oracle RAC kurulumunda bu işlem zaten yapılıyor, nodelar birbirine trusted bir şekilde bağlanabiliyor, ama şu anki durumumuzda iki ilişkisiz server üzerinde yapacağız.

Os: Oracle Ent. Linux 6.5
Server 1: omerlinux
Server 2: omerlinuxcopy
user: oracle( her iki sunucuda)

Adımlar:

1- Home dizini altında .ssh folderı oluşturulur, yetkileri verilir.(Her iki sunucuda oracle userı ile)

[oracle@omerlinux ~]$ pwd
/home/oracle
[oracle@omerlinux ~]$ mkdir .ssh
[oracle@omerlinux ~]$ chmod 700 .ssh

2- id_rsa.pub dosyası oluşturulur.(gelen sorulara enter yapılır geçilir,her iki sunucuda oracle userı ile)

[oracle@omerlinux ~]$ ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/home/oracle/.ssh/id_rsa): 
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /home/oracle/.ssh/id_rsa.
Your public key has been saved in /home/oracle/.ssh/id_rsa.pub.
The key fingerprint is:
8f:63:61:23:39:c4:a2:bc:f6:6e:ee:7a:a0:84:3c:2c oracle@omerlinux.localdomain
The key's randomart image is:
+--[ RSA 2048]----+
|                 |
|     .           |
|    . o          |
| . . o .         |
|+ o   + S        |
|E=..   + =       |
|o.+.    + .      |
|.. .o  . .       |
|  .B=            |
+-----------------+

3- id_rsa.pub dosyasından authorized_keys dosyası oluşturulur.(Her iki sunucuda oracle userı ile)

[oracle@omerlinux ~]$ cd /home/oracle/.ssh/
[oracle@omerlinux .ssh]$ cat id_rsa.pub >> authorized_keys
[oracle@omerlinux .ssh]$ ls
authorized_keys  id_rsa  id_rsa.pub

4- Sunucularda oluşturulan authorized_keys dosyası öteki sunucuya yeni isim ile kopyalanır.(Her iki sunucuda oracle userı ile)

Kopyalama işleminde oracle user şifresi girilir, bu makaledeki adımlar bittikten sonra şifre girmemize gerek kalmayacak. omerlinux makinesindeki authorized_keys dosyası omerlinuxcopy makinesine authorized_keys_1 adıyla kopyalanır. omerlinuxcopy makinesindeki authorized_keys dosyası omerlinux makinesine authorized_keys_2 adıyla kopyalanır.

[oracle@omerlinux .ssh]$ scp authorized_keys omerlinuxcopy:/home/oracle/.ssh/authorized_keys_1
The authenticity of host 'omerlinuxcopy (192.168.1.250)' can't be established.
RSA key fingerprint is 99:99:e0:7c:c7:c2:d6:2c:46:46:7e:9d:bf:82:94:72.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'omerlinuxcopy,192.168.1.250' (RSA) to the list of known hosts.
oracle@omerlinuxcopy's password: 
authorized_keys                                                             100%  410     0.4KB/s   00:00

5- Öteki sunucudan gelen authorized_keys_1 içindeki text lokal sunucunun authorized_keys dosyasına yazılır.İki sunucuda da bu işlem yapılmalıdır. 1. Sunucunun authorized_keys içeriği 2. sunucunun authorized_keys dosyasına kopyalanmalı ve tersi de yapılmalıdır. Sonunda her iki sunucuda da aşağıdaki gibi bir authorized_keys dosyası oluşmalıdır.

[oracle@omerlinux .ssh]$ cat authorized_keys
ssh-rsa 
AAAAB3NzaC1yc2EAAAABIwAAAQEA4eA8swmNSFEApCmSyhhe15QPFY+NTAwMuqXePu8zfcpFNSG95HPGzKn9V2K4gwRPgy57X3F1hivzRJ1Gd0seTDL
liyUpdA/QgPE+M1jwlG0T4w1PbELsqQhn16+S4DqP94WpG3jrkw7S7vytehA1zQ/b36M7M378Eez/DJFx3WPLHEieBEDNx0ExuFiltYqf2OR3/qSWui
OBNqBPsFvzrVVeJVzCFvitzMNW/U0PU4Sdj7vLo5k2YNdAEFuqLD6P7DroCPXFLT0WzqMvlc29I3JSZOg55GODptQceZ88XpY8UqrPbI0Gvm2OqAbOZ
CEktfJwMbFWjPbBK0WiN6BdQQ== oracle@omerlinux.localdomain
ssh-rsa 
AAAAB3NzaC1yc2EAAAABIwAAAQEAts1bAjVXyQD+7Y6ipO7bQaFpCFK6u3S4yZbC047b3cX7plr+m4lMhfFQOvkr9xqTB8SPTf5GlVWwhOGqjikDUq+
QZOGCUD06zJPIMKZ3fPAmJBucFfuibOC0F2oc7indZAEarVW0W5cZ6VZkBmLYsI3WStQAWMAZHKOLlJccsCIqeZe+fr2eAMeVw9b6DT6XKOiD3/A477
DT5d2g6V594pGTS2Il5D7fvpXtKJIv91C8ytfpaFRaWtcGe9x+Mg8zzze2UeOnUgWTu1PWDMqV+4e45tE5lUnOIM/cd6sqj9mIsj/gYg8rKwZP2kKjV
AagNnNCd5WB06tnscImGQP8hw== oracle@omerlinuxcopy.localdomain

6- Sunucularda network servisi restart edilir.(Her iki sunucuda root userı ile)

[oracle@omerlinux .ssh]$ 
[oracle@omerlinux .ssh]$ su - root
Password: 
[root@omerlinux ~]# service sshd restart
Stopping sshd:                                             [  OK  ]
Starting sshd:                                             [  OK  ]

7- Sonuç test edilir. 1. sunucudan 2. sunucuya dosya kopyalanır, 2. sunucudan 1. sunucuya dosya kopyalanır, şifre girmenize gerek kalmadan yapabilmemiz gerekiyor.

[root@omerlinux ~]# su - oracle
[oracle@omerlinux ~]$ pwd
/home/oracle
[oracle@omerlinux ~]$ touch copy1_test.txt
[oracle@omerlinux ~]$ ls
copy1_test.txt  Desktop  Documents  Downloads  Music  Pictures  Public  Templates  Videos
[oracle@omerlinux ~]$ scp copy1_test.txt omerlinuxcopy:/home/oracle/
copy1_test.txt                                                              100%    0     0.0KB/s   00:00    
[oracle@omerlinux ~]$

Görüldüğü gibi şifresiz trusted bağlantı sağlanmış oldu. Biz makalemizde iki sunucu içinde ssh-keygen ayarlarını yaptık istenirse tek taraflı da yapılabilir, source sunucuda oluşturulan authorized_keys dosyasının içeriği target sunucunun authorized_keys dosyası içine yazılırsa işlem tamamdır, örnekte iki sunucu içinde bu işlemi yaptık.

Umarım faydalı olur.

Ekran görüntüleri aşağıdaki gibidir.

 

Tagged: , , , , , ,

Bir cevap yazın

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