Linux SSH ve SCP

Bu makalemde host lar arasında SSH (Secure Shell ) güvenli bağlantı ve SCP ( Secure Copy ) güvenli dosya kopyalamasını ele alacağım.

 

SSH hostlar arasında güvenli bağlantı sağlayan bir protokoldür. Scp güvenli kopyalamayı ssh üzerinden yapmaktadır. Bunun için öncelikle ssh-client ın yüklü olup olmadığına bakmanız da fayda var. Bir çok Linux dağıtımı OpenSSH ı kullanmaktadır. Benim üzerinde çalıştığım Centos dağıtımı da OpenSSH kullanmakta #rpm –qa openssh komutuyla hangi sürümünü kullandığını görebilirsiniz.

 

SSH default olarak 22 portunu kullanmakta dır. Conf dosyasında port numarasını değiştirebilirsiniz. SSH servisi runlevel larda start olarak gelmektedir. Kontrol etmek için # ls -l /etc/rc.d/rc[3,5].d/*sshd komutunu kullanabilirsiniz. Çıktısı aşağıda dır.

 

/etc/rc.d/rc3.d/S55sshd -> ../init.d/sshd

/etc/rc.d/rc5.d/S55sshd -> ../init.d/sshd

 

Bu yazıyı hazırlamak için oluşturduğum iki adet hostum var. Yapacağım örneklerde ip adresleri yerine hostnamelerini kullanacağım. Sizde bu şekilde çalışma yapmak isterseniz /etc/hostname mi editörle açın ip adreslerini ve karşılığındaki hostname ni giriniz.

 

Hostlardan bir tanesinde # ssh-keygen komutunu veriyorum karşılığında benden parola girmemi istiyor ama ben hostlarım arasındaki bağlantı da parola kullanmayacağım için buraları enter layarak boş bırakıp geçiyorum. Public ve Private key ler oluşturulur.

 

 

image001

 

 

Oluşan dosyalar. ssh ın altındadır. Bu dosyaya gidip public key ‘in olduğu dosyayı kopyalamamız gerekiyor. Pub dosyasını authorized_keys dosyasına kopyalıyorum.

 

 

 

 

Şuana kadar daha bağlantı yapmadık. Bilinen host dosyasının oluşması için hostlara sırasıyla ssh la bağlantı yapıyorum.

 

 

 

 

 

 

.ssh dosyasının altında known_hosts dosyasının oluştuğunu ve içeriğine baktığımda iki hostuma ait bilgilerin girildiğini kontrol ettim. Herhangi bir editörle known_hosts dosyasını açıp bakabilir ya da cat komutunu kullanabilirsiniz.

 

 

 

 

.ssh dosyasının içine gittik ten sonra scp ile buradaki dosyalarımı diğer hostuma gönderiyorum. Scp komutuna değineceğim.

 

 

 

 

Diğer sunucumdaki .ssh dosyasına baktığımda scp ile gönderdiğim dosyalarımı görebildim. Bu zamana kadar yaptığımız bütün işlemlerde şifre kullandık.

 

 

 

 

Hostlar arasında ssh bağlantısını denediğimde artık bana şifre sormadığını görmekteyim bunun sebebi de hostlar arasında paylaştırdığım key dosyalarıdır.

 

 

 

 

Aynı şekilde güvenli kopyalamayı da denediğim zaman bana şifre sormamaktadır.

 

Scp komutuna değinelim.

 

Scp (göndermek istediğim dosya) (kullanıcı adı)@(hostname yada ip ): (dosyanın kopyalanacağı yeri)

 

Buna göre aşağıdaki örnek de install.log dosyasını logserver daki root kullanıcısının /kur dosyasının içine atıyorum.

 

 

 

 

Logserver daki /kur dosyasının içine baktığımda install.log dosyası gelmiştir.

 

 

 

 

Scp ile güvenli dosya paylaşımı yapabilirsiniz hostlarınız arasında.

 

Yukardaki örnekte Public key ve Private key dosyalarımı paylaşarak yaptım 2 den fazla hostunuz için bu işlemi yapacaksanız sadece public key dosyanızı paylaşınız.

 

Bunu yapmak içinde her hostunuzda ssh-keygen komutunu çalıştırarak public key ler üretiniz. Ürettiğiniz public key i authorized_keys dosyasına kopyalayın. authorized_keys dosyasını editörle açın ve her hostun public keyini bir yerde authorized_keys dosyasında toplayın bunuda scp ile hostlarına paylaştırdığınız vakit hostlarınız arasında güvenli ve şifresiz bağlantı kurabilirsiniz.

 

Exit mobile version