Salı, Nisan 21, 2020

Ssh ile uzak sunuculara hızlıca bağlanma


Ssh yani secure Shell uzak makinelere bağlanmada kullandığımız en yaygın ve güvenilir protokolden birisidir[1]. SSH bağlantısında uzak makine IP leri kullanıyorsak mecburen Ip leri bir yere not etmemiz veya ezberlememiz gerekiyor hele ki birçok makineye bağlanıyorsak işler biraz karmaşıklaşıyor. Bağlandığımız makinelere isim vermek ve bu isimle bağlanmak için kullanıcı (client) tarafında config dosyasına gerekli parametreleri yazarak kolay ve hızlı bir şekilde bağlanabiliriz. 

Bunun için;

$sudo vi /.ssh/config

Dosyamıza aşağıdaki parametreleri girebiliriz: 

###
Host server1
Hostname {IP adresi}
User user1
 Host server2
Hostname server.example.com
User user1
###

Dosyayı kaydedelim (:wq!)

Yukarıdaki parametreyi her host (uzak makine) yazmamız gerekir. User ile hangi kullanıcı ile bağlanacağımızı belirtebiliriz. 

Hostname değeri yerine fqdn (fully qualified domain name, yani www.example.com, server1.example.com gibi) alan adı veya IP adresi yazabiliriz. Alan adının dns ile çözülmesi gerekmektedir, bunu test etmek için nslookup komutunu kullanabilirsiniz.

Bu makineye artık;

$ssh server1

İle bağlanabiliriz. 

Eğer bağlanacağımız makinenin ssh portu değiştirilmişse örneğin 16855 (rasgele bir değer) yapılmışsa, port değerini de belirtmemiz gerekecektir. 

###
Host server1
Hostname {IP adresi}
User user1
Port 16855
###
Portu değişmiş makineye; 

$ssh -p 16855 server1

İle bağlanabiliriz. 


Son bilgi tüm hostlara aynı kullanıcı ile bağlanmak için;

###
Host *
User user1
###

Parametrelerini kullanabilirsiniz.

Tüm config parametrelerine alttaki manual komutuyla bakabilirsiniz.  

$man ssh_config

Ayrıca aşağıdaki kaynak bağlantısında başka bilgiler de mevcut. 

Kaynak 

3 yorum:

  1. bağlantı yapılacak bilgisayarların hostname'ini bağlantı yaptığımız makinanın /etc/hosts dosyasına yazsak daha pratik olmaz mı?
    böyle her makinaya gidip config girmek gerekcek!
    ya da ben yanlış mı anladım makaleyi?

    YanıtlayınSil
  2. /etc/hosts dosyasına sadece IP girebilirsin. ssh config'de user_name ve farklı port girebiliyorsun. Başka işe yarayan parametreler de var.

    YanıtlayınSil