SSH iki network cihazı arasında güvenlik kanalıyla veri değişimine izin veren bir network prokolüdür. Birincil olarak Linux ve unix tabanlı sistemlerin kabuk hesaplarına ulaşmak için kullanılmıştır. SSH protokolü Telnet gibi güvenlik yetenekleri olmayan network protokollerinin yerini almak için dizayn edilmiştir. Telnet gibi sistemlerde veri içinde bağlantı parolası da görülebilecek şekilde şifrelenmeden gönderilmektedir. SSH protokolünde ise gönderilen tüm veriler şifrelenerek güvenlik sağlanmış olur.
SSH uzak bilgisayarla bağlantı için şifreleme ve doğrulama algoritmaları kullanmaktadır. Genellikle uzak bilgisayara bağlanıp komutlar çalıştırmak için kullanılır.
SSH sunucusu default olarak 22 numaralı standart TCP portunu dinler.
SSH client programı uzak bağlantıyı kabul ederek SSH sunucusu ile bağlantıyı kurar. Hem SSH sunucusu hemde SSH client programı birçok modern işletim sistemi tarfından desteklenmetedir.
SSH birçok uygulamayla beraber kullanılan bir protokoldür. Aşağıda bahsedilen bazı uygulamalar sadece özel SSH server veya SSH client programları ile çalışır. Örneğin SSH protokolü kullanılarak VPN oluşturmak ancak OpenSSH server ve client uygulamaları kullanarak mümkündür.
– Uzak kullanıcı üzerinden kabuğa bağlanmak mümkündür.
– Uzak kullanıcıda tek bir komut çalıştırılabilir.
– Lokal bilgisayardan uzak bilgisayara dosya kopyalanabilir.
– SSH dosya gönderim protokolüyle FTP ile dosya transferine güvenli bir alternatif olabilir.
– Port yönlendirme için kullanılabilir.
– OpenSSH server ve client kullanılarak şifrelenmiş bir VPN oluşturulabilir.
– Otomatik olarak uzaktan server kontrolü ve yönetimi sağlanabilir.
SSH-2 protokolü birbirinden çok iyi ayrılmış katmanlardan oluşan temiz bir iç mimariye sahiptir.
Transport Layer : Bu katman ilk anahtar değiştirilmesi, server doğrulama, şifreleme ayarlaması, güvenilirlik doğrulama gibi özellikleri kontrol eder. Bu katman ayrıca anahtarı her 1 GB veri gönderildiğinde veya 1 saat geçtiğinde değiştirir.
User Authentication Layer : Bu katman client doğrulamasını yapar ve bir çok doğrulama methodu ortaya koyar. Burada sorulacak bir parola server a girişle ilgili değil tamamen client güvenliği ile ilgilidir.
Connection Layer : Bu katman kanalların konseptlerini ve kanal isteklerini SSH servislerini kullanarak tanımlar. Tek bir SSH bağlantısı her iki yöndede data ileten birden fazla kanalı aynı anda barındırabilir.
SSH’ ın bu açık mimarisi ve esnekliği kabuk güvenliği dışında başka birçok amaç içinde kullanımını mümkün kılar.