SSH (Secure Shell – Güvenli Kabuk), ağ cihazlarına uzaktan bağlanmak için kullanılan bir araçtır. TCP/IP protokolünü kullanan SSH , 22. port üzerinden haberleşmektedir. SSH‘de veriler şifrelenerek iletildiğinden dolayı güvenlidir. Bir önceki yazımızda Telnet ile uzak bağlantı yapmış ve verilerin şifrelenmeden iletildiği için güvenli olmadığını görmüştük.
Kendi bilgisayarımdan Putty ile bağlantı yapabilmek için EVE-NG üzerinde yukarıdaki topolojiyi oluşturdum.
Cisco Router SSH yapılandırması
Router>enable Router#configure terminal Router(config)#hostname R1 R1(config)#interface ethernet 0/0 R1(config-if)#ip address 192.168.43.10 255.255.255.0 R1(config-if)#no shutdown
Kullanıcı adı, parola ve enable parolası oluşturalım.
R1(config)#username salih secret salih R1(config)#enable secret level 15 salih
Cisco cihazlarda uzak bağlantı için vty(Virtual Teletype) yapılandırması yapılması gerekmektedir. Bu yapılandırma da iletişim tipi, açılacak oturum sayısı gibi birçok parametre bulunmaktadır. Yapılandırma yapılırken öncelikle aynı anda kaç tane oturum açılabileceği ayarlanır.
R1(config)#line vty ?
<0-4> First Line number
Parametreye baktığımızda 0-4 arasında değer girmemiz gerektiğini görüyoruz. Buda demektir ki, en fazla aynı anda 5 tane oturum açılabilmektedir. (0 değeri 1. oturumu temsil ediyor.)
Ben maksimum değeri kullanacağım.
R1(config)#line vty 0 4
Burada ilk değer başlangıç, son değer ise bitiş oturumunu belirtmekte. Böylece aynı anda 5 oturum açılabileceğini seçmiş olduk.
Oturum sayısını belirttikten sonra erişim türünü belirteceğiz. Öncelikle kullanabileceğimiz protokollere bakalım:
R1(config-line)#transport input ?
all All protocols
lapb-ta LAPB Terminal Adapter
lat DEC LAT protocol
mop DEC MOP Remote Console Protocol
none No protocols
pad X.3 PAD
rlogin Unix rlogin protocol
ssh TCP/IP SSH protocol
telnet TCP/IP Telnet protocol
udptn UDPTN async via UDP protocol
v120 Async over ISDN
Kullanılabilecek çok fazla protokol var. Biz buradan protokol olarak SSH seçeceğiz.
R1(config-line)#transport input ssh
Son olarak girişi aktifleştireceğiz.
R1(config-line)#login local
Bu parametre ile girişin lokal kullanıcı ile yapılacağını belirttik. Şu ana kadar ki yaptığımız konfigürasyon Telnet ile aynıydı. Gelelim SSH’nin aktifleştirilmesine. Öncelikle domain-name
belirtmek gerek. Domain ismi olarak salihaltuntas.com vereceğim.
R1(config)#ip domain-name salihaltuntas.com
SSH’de verilerin şifrelendiğinden bahsetmiştik. Şifreleme için açık kaynak olan RSA algoritması kullanılmakta. Bunun için bir kripto anahtarı oluşturmak gerekecektir. Config modda iken crypto key generate rsa
yazalım ve enter tuşuna basalım.
R1(config)#crypto key generate rsa
The name for the keys will be: R1.salihaltuntas.com
Choose the size of the key modulus in the range of 360 to 2048 for your
General Purpose Keys. Choosing a key modulus greater than 512 may take
a few minutes.
How many bits in the modulus [512]:
RSA key oluşturmak istediğimizde yukarıdaki bir bilgi ekranı gelecektir. Burada şifrelemenin kaç bit olması belirtilir. 1024 bit bizim için yeterli.
How many bits in the modulus [512]: 1024
% Generating 1024 bit RSA keys, keys will be non-exportable...[OK]
Şifreleme için 1024 bitlik anahtar oluşturuldu. Son olarak SSH versiyonunu belirteceğiz. SSH için 2 versiyon bulunmaktadır. İlk versiyonda açıklar olduğu için, güncel ve daha güvenli olan versiyon 2’yi seçeceğiz.
R1(config)#ip ssh version ? <1-2> Protocol version R1(config)#ip ssh version 2
Yapılandırma bu kadar. Artık SSH bağlantısı ile Router’a bağlanabiliriz.
Cisco switch SSH yapılandırması
Switch için SSH yapılandırmamız router’daki ile aynı olacaktır. Tek fark, Switch’lere uzaktan erişebilmek için VLAN arayüzüne ihtiyaç vardır. Bundan dolayı VLAN arayüzüne girip IP adresi vereceğiz.
Öncelikle cihaz ismini verip ardından kullanıcı adı/parola ve enable parolası oluşturalım.
Switch#configure terminal Switch(config)#hostname SW SW(config)#username salih password salih SW(config)#enable secret level 15 salih
Uzaktan erişim için IP adresine ihtiyacımız olacak. VLAN arayüzüze girip IP adresi vereceğiz. Ben örneğimde default VLAN’ı yani VLAN 1’i kullanacağım.
SW(config)#interface vlan 1 SW(config-if)#ip address 192.168.43.20 255.255.255.0 SW(config-if)#no shutdown
Son olarak uzak bağlantıyı etkinleştirelim.
SW(config)#line vty 0 4 SW(config-line)#transport input ssh SW(config-line)#login local
Temel yapımızı yaptık. SSH için altyapıyı da hazırlayalım.
SW(config)#ip domain-name salihaltuntas.com SW(config)#crypto key generate rsa The name for the keys will be: SW.salihaltuntas.com Choose the size of the key modulus in the range of 360 to 2048 for your General Purpose Keys. Choosing a key modulus greater than 512 may take a few minutes. How many bits in the modulus [512]: 1024 % Generating 1024 bit RSA keys, keys will be non-exportable...[OK] SW(config)#ip ssh version 2
SSH yapılandırması Cisco Router ve Swtich için bu şekildeydi. Telnet yazımızda verilerin açık olduğunu görmüştük. Wireshark ile SSH trafiğine bakalım. Burada verilerin şifrelendiğini de görmüş olalım.
Görüldüğü gibi SSH paketinde veriler şifrelenmiş halde. Başka bir yazıda görüşmek üzere.
Diğer Cisco konularına buradan bakabilirsiniz: Cisco R&S