Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Yazar => KingSkrupellos Cyberizm Digital Security Team
- Konu Linki => https://www.cyberizm.org/cyberizm-sunucular-arasinda-sifresiz-ssh-baglantisi.html
- Selamün Aleyküm Bugün Sizlerele Sunucular Arasında Şifresiz SSH Bağlantısını Dört Farklı Yöntemle anlatacağım. Resimlerle Videolarla ve Uzun Makale ile Destekledim. Hayırlı Kullanımlar Dilerim.Hadi Başlıyalım.
- [img]https://i.hizliresim.com/DyDRG1.jpg[/img]
- [img]https://i.hizliresim.com/mJozRy.png[/img]
- Setup Environment
- Step 1: Create Authentication SSH-Kegen Keys on – (192.168.0.12)
- Step 2: Create .ssh Directory on – 192.168.0.11
- Step 3: Upload Generated Public Keys to – 192.168.0.11
- Step 4: Set Permissions on – 192.168.0.11
- Step 5: Login from 192.168.0.12 to 192.168.0.11 Server without Password
- [img]https://i.hizliresim.com/MaDyQN.gif[/img]
- [img]https://i.hizliresim.com/Qp2l5k.gif[/img]
- [img]https://i.hizliresim.com/XE6o17.gif[/img]
- [img]https://i.hizliresim.com/bL62X8.gif[/img]
- [img]https://i.hizliresim.com/d7B2d4.gif[/img]
- [ SSH Passwordless Login Using SSH Keygen in 5 Easy Steps ]
- SSH password less login between Linux machines as non root user
- SSH Login Without Password
- [video=youtube]https://www.youtube.com/watch?v=Uq5xp6gh_FA[/video]
- [video=youtube]https://www.youtube.com/watch?v=1SMetlIau3c[/video]
- [video=youtube]https://www.youtube.com/watch?v=aw2yNtM-vJQ[/video]
- [video=youtube]https://www.youtube.com/watch?v=i1aOm9kjj2I[/video]
- ________________________________________________________
- 1. Yöntem =>
- SSH Key ile Sunucular Arası Şifresiz Bağlantı
- X ve Y sunucunuz var diyelim.
- X sunucusundan Y sunucusuna şifresiz ssh yapabilmek istiyorsunuz. O zaman şu adımları gerçekleştirin;
- Öncelikle X sunucusuna normal login olun
- [code]ssh root@xSunucu.gov[/code]
- Ardından ssh key yaratalım aşağıdaki komutu verin ve karşınıza gelen sorulara enter a basıp geçin.
- [code]ssh-keygen -t rsa
- Generating public/private rsa key pair.
- ...
- ..
- The key fingerprint is:
- 4f:1f:c5:19:3a:9f:24:7c:3b:cd:h9:51:23:bc:37:g4[/code]
- id_rsa.pub isminde bir dosya oluşacaktır. Bu dosyayı Y sunucusuna gönderiyoruz;
- [code]cat .ssh/id_rsa.pub | ssh root@Ysunucusu 'cat >> .ssh/authorized_keys'
- [/code]
- [code]bu işlemden sonra artık X sunucusu Y sunucusuna direkt olarak ssh bağlantısı yapabilir.[/code]
- [code]ssh root@ySunucu.gov[/code]
- _____________________________________________________________________
- 2. Yöntem =>
- SSH bağlantısı telnet, rlogin gibi ağ üzerinden başka bir sunucuya bağlantı sağlayan bir protokoldür. Tamamen command-line’dan çalışan bu yapıda kullanıcı şifreleri dahil tüm iletişimi şifrelemeden gerçekleştirmek isterseniz SSH RSA Key oluştururarak kullanabilirsiniz.
- Sunucu sayıları arttıkça şifrelerini de akılda tutmak zorlaştığından bu durumdan da kurtulmak için SSH RSA KEY kullanabilirsiniz.
- Yazı da 3 adet sunucuda nasıl tanım yapacağınızı anlatacağım. isterseniz 2 ve daha fazla sunucuda kullanabilirsiniz.
- Server1:
- Key oluşturmak:
- [code]$ ssh-keygen -t rsa[/code]
- İlk soru hangi dosyada keyin duracağıdır. Default olarak enterleyip geçebilirsiniz.
- Size soracağı passphrase key’i boş bırakırsanız eğer şifresiz bağlanırsınız. Eğer bir key girersiniz her bağlantıda bu key’i girmenizi isteyecektir. Boş bırakıp enter’leyip geçiyorsunuz. Tekrar soracaktır, onuda enter’leyip geçiyorsunuz. Ve key’iniz hazır. Grafiksel bir QR kodu gibi birşey göreceksiniz. Key’inizin şifrelemesinden dolayı böyle gözükecektir.
- SSH’key’i transfer etmek için:
- [code]$ scp ~/.ssh/id_rsa.pub kullanıcıadı@server2IPyadaHostname.DomainName:.ssh/authorized_keys[/code]
- Yukarıdaki server2IPyadaDomainName kısmını 192.168.2.1 yada server2.sekman.net gibi doldurabilirsiniz. (mesela ssssssserver.cyberizm.org t’e ping atabiliyor olduğunuzdan emin olun.)
- Toplamda 3 adet sunucumuz olduğu için 3. server’a da bu key’i transfer etmemiz gerekiyor.
- [code]$ scp ~/.ssh/id_rsa.pub kullanıcıadı@server3IPyadaHostname.DomainName:.ssh/authorized_keys[/code]
- Kendisinde bulunan kendisine ait key’in izin ayarı:
- [code]$ chmod 700 .ssh[/code]
- server1’de key’i oluşturduk ve diğer sunuculara transfer ettik. Şimdi de server2’ye geçiyoruz.
- [code]$ ssh-keygen -t rsa
- $ scp ~/.ssh/id_rsa.pub kullanıcıadı@server1IPyadaHostname.DomainName:.ssh/authorized_keys
- $ scp ~/.ssh/id_rsa.pub kullanıcıadı@server3IPyadaHostname.DomainName:.ssh/authorized_keys
- $ chmod 700 .ssh
- [/code]
- server2’de key’i oluşturduk ve diğer sunuculara transfer ettik. Şimdi de server3’e geçiyoruz.
- [code]$ ssh-keygen -t rsa
- $ scp ~/.ssh/id_rsa.pub kullanıcıadı@server1IPyadaHostname.DomainName:.ssh/authorized_keys
- $ scp ~/.ssh/id_rsa.pub kullanıcıadı@server2IPyadaHostname.DomainName:.ssh/authorized_keys
- $ chmod 700 .ssh[/code]
- server3’de de key’i oluşturduk ve diğer sunuculara transfer ettik.
- Son olarak sırayla bütün sunuculara bağlanıp kendisinde bulunan ancak diğer server’lara ait key’lerin bulunduğu klasörün iznini ayarlıyoruz.
- [code]$ chmod 640 .ssh/authorized_keys[/code]
- Bu komutu 3 sunucuyada ayrı ayru giriyorsunuz.
- Ve işlemler tamamdır. Şuanda bütün sunucularınız kendi aralarında ssh kullanıcıadı@server3IPyadaHostname.DomainName şeklinde geçiş yapabilir yada scp komutuyla dosya transferi yaparken size hiç bir şifre sormayacaktır.
- ___________________________________________________________
- Bazı durumlar da bir sunucu dan diğer sunucuya baglanarak komut çalıştırmanız gerekebilir ve bu işlemin sürekli olarak gerçekleştirilmesi gerekebilir. (crontab v.s. ile)
- Bu gibi durumlar da şifresiz olarak sunucular arasında ssh baglantısı yapabiliyor olmanız gerekir.
- Linux de bu işlemi gerçekleştirebilmek oldukça basit,
- Sunucu X : Şifresiz Y sunucusuna baglantı yapabilecek sunucu.
- Sunucu Y : Şifre istemeden X sunucusundan gelen ssh baglantılarına izin verecek olan sunucu.
- Sunucu X de yapmamız gekenler ;
- [code]
- root@k-Sys:~/.ssh# cd /root/.ssh/
- root@k-Sys:~/.ssh# ssh-keygen -t rsa
- Generating public/private rsa key pair.
- Enter file in which to save the key (/root/.ssh/id_rsa):
- Enter passphrase (empty for no passphrase):
- Enter same passphrase again:
- Your identification has been saved in /root/.ssh/id_rsa.
- Your public key has been saved in /root/.ssh/id_rsa.pub.
- The key fingerprint is:
- 07:e8:71:39:8d:72:19:42:ea:e1:06:cb:f7:73:95:0e root@k-Sys
- The key’s randomart image is:
- +–[ RSA 2048]—-+
- | .o . |
- | . o * |
- | . o + O . |
- | . = o = o . |
- | o = . E + |
- | o . = |
- | o . . |
- | o |
- | |
- +—————–+
- root@k-Sys:~/.ssh# ls
- id_rsa id_rsa.pub known_hosts known_hosts.old
- ssh-keygen -t rsa komutundan sonra 1-2 soru soracak enter enter diyerek bunları geçelim.
- İşlem sonunda id_rsa id_rsa.pub dosyaları oluşacak. Bu dosyalardan id_rsa.pub dosyasıını Sunucu Y ye scp ile veya farklı bir yöntem ile gönderiyoruz. (/root dizinine)[/code]
- Sunucu Y de yapılması gereken işlemler;
- [code]
- root@k-Sys:~# cat /root/id_rsa.pub > /root/.ssh/authorized_keys
- root@k-Sys:~#
- Bu işlemden sonra Sunucu X in komut satırında ssh root@sunucuy komutu verildiğinde hiç bir şifre sormaksız Sunucu Y nin komut satırına erişim sağlayacaktır.
- root@k-Sys:~#ssh root@sunucuy “echo test > /root/test.txt”
- Yukarıdaki komutu çalıştırdığınızda Sunucu Y nin /root/test.txt içerisinde test yazdığını görebilirsiniz.[/code]
- Faydalı olabilmesi temennisi ile.
- ____________________________________________________________________
- Uzak Bağlantı SSH için Güvenli Şifresiz Erişim (Ubuntu/Linux)
- SSH (Secure Shell) güvenli veri iletimi için kullanılan bir ağ protokolüdür (bakınız). Bu prokol ile uzak makinadaki kabuğa erişim sağlanabilmektedir (Uzak masaüstü yazılımlarının konsol versiyonu). Günümüzde oldukça yaygın olarak kullanılan bu protokül ile cihaz üzerinde her türlü işlem yapılabilmektedir. Bu protokolün çalışabilmesi için erişilecek makina üzerinde bir ssh sunucusu kurulu olmalıdır (openssh-server). İstemci makina üzerinde dinleme yapan sunucuya erişir ve güvenlik kontrolünü geçtikten sonra istediği işlemleri gerçekleştirebilir. İletişim şifrelidir. Bu nedenle dinlense daha çözülmesi mümkün değildir (en azından şimdilik). VPN uygulamalarında kullanılır.
- Gelelim sadede 🙂
- Erişilmek istenen makina: 192.168.1.1 (ssh-server kurulu)
- Erişecek makina : 192.168.1.2
- 192.168.1.2 ipli bilgisayar erişim için konsola
- [code]
- ssh username@192.168.1.1[/code]
- yazar ve şifreyi girdikten sonra kullanıcı doğrulamasını sağladıktan sonra erişebilir. Şifre adımı güvenli bir şekilde geçilebilir. Yapmanız gerekenler:
- 192.168.1.2 ip li bilgisayardan yapılacak:
- [code]
- ssh-keygen -t rsa[/code]
- Enter passphrase (empty for no passphrase): (burayı ve)
- Enter same passphrase again: (burayı boş geçin sadece entera basın)
- [code]
- Your identification has been saved in /home/kullaniciadiniz/.ssh/id_rsa.
- Your public key has been saved in /home/kullaniciadiniz/.ssh/id_rsa.pub.[/code]
- işlemler sonunda yukarıdaki çıktıyı alacaksınız (bilgisayarı tanımlamak için kullanılacak).
- [code]
- ssh username@192.168.1.1 mkdir -p .ssh
- cat .ssh/id_rsa.pub | ssh username@192.168.1.1 ‘cat >> .ssh/authorized_keys’
- ssh username@192.168.1.1 chmod 700 .ssh
- ssh username@192.168.1.1 chmod 640 .ssh/authorized_keys
- ssh-add[/code]
- Oluşturduğumuz dosyanın public (pub) bilgilerini sunucudaki dosyaya ekledik. Böylece bağlantı güvenliği sağlanırken bizim parmakizimiz sunucu tarafından doğrulanıyor ve bağlantı kuruluyor. Şifreye de gerek kalmıyor 😉
- İşlem tamam
- [code]
- ssh username@192.168.1.1[/code]
- ile artık doğrudan giriş yapabilirsiniz.
- Tamamen Yabancı İngilizce Kaynaklardan Yararlanılarak Hazırlanmıştır.
- Emeğe Saygı. Mr. KingSkrupellos Cyberizm Digital Security Team
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement