Merhaba değerli okurlarım!
Sunucu yönetimi ve ya web tasarım ile uğraşan bir çok kişi ssh hakkında bir şeyler duymuştur. bu yazımda ssh nedir, ssh nasıl çalışır gibi tüm sorulara detaylı bir şekilde cevap vermeye çalışacağım.
Eğer ssh hakkında kapsamlı bir yazı okumak ve bilgi sahibi olmak istiyorsanız. bu yazımı okuyarak bilgi edinebilirsiniz.
Eğer hazırsanız başlayalım.
Ssh nedir?
Secure Shell protokolü kısaca SSH, bir bilgisayardan uzaktaki bir bilgisayara güvenli bağlantı kurmanın bir yoludur. Protokol güçlü doğrulama seçeneklerine ve bilgisayarlar arası iletişim için güçlü şifreleme yöntemlerine sahiptir.
SSH sahip olduğu bu özellikler sayesinde hem telnet ya da rlogin gibi korumasız protokollere hem de FTP gibi korumasız dosya transfer protokollerine göre önemli avantajlar sağlamaktadır.
SSH üzerinden gerçekleştirilen bağlantı ve dosya paylaşımı güvenli olduğu gibi aynı zamanda otomatik haline gelebilir. Bunun yanı sıra meydana gelen problemler uzaktan bağlantı ile çözümlenebilmekte, ağ yapısı ya da diğer kritik sistem bileşenleri yönetilmektedir.
Protokol kullanıcı-sunucu modelinde bir bağlantıdır. SSH ile kullanıcılar SSH sunucularına bağlanır. Kullanıcı bağlantı kurulumunu başlatır ve SSH sunucusunda kimliğini doğrulamak için public key şifresini kullanır. Kurulum aşamasından sonra SSH protokolü kullanıcı ve sunucu arasındaki gizliliği ve veri güvenliğini sağlamak için güçlü simetrik şifreleme ve hash algoritmaları kullanır. 2006 Yılından beri Internet Engineering Task Force tarafından geliştirilmiş olan SSH-2 protokolü kullanılmaktadır. Bu yeni protokol daha önce 1995 yılında Tatu Ylönen tarafından geliştirilen SSH protokolüne göre daha güçlü gizlilik ve koruma sağlamaktadır. Ayrıca SSH-2, ilk sürümden farklı olarak Diffie-Hellman key exchange’i kullanmaktadır.
SSH’da doğrulama yapabilmek için farklı seçenekler bulunur. Ancak en çok tercih edilen yöntemler şifreler ve public key doğrulamalarıdır. Public key doğrulaması özellikle otomasyon için tercih edilir ve genellikle sistem yöneticileri tekli giriş için bu yöntemi kullanmaktadır. Bu yöntemde biri public yani açık diğer private yani gizli olmak üzere iki şifreli anahtar bulunur. Public key, sunucuya erişmeyi doğrular ve private key sahibine sunucuya erişim izni verir. Doğrulama için kullanılan bu anahtarlar SSH anahtarları olarak bilinmektedir. Bu yöntemin asıl kullanılış amacı otomasyonu güvenli hale getirmektir. SSH anahtarlarının yönetimi oldukça önemlidir. SSH anahtarları sunucuya erişmede kullanıcı adı ve şifre gibidir.
Kullanıcı ile sunucu arasında SSH bağlantısı gerçekleştiğinde, veri kurulum aşamasında belirlenen parametreler doğrultusunda şifrelenir. Kurulum esnasında kullanıcı ve sunucunun anahtar kullanımı için simetrik şifreleme algoritmasının üzerinde karara varır. İletişim esnasında taraflar arasındaki trafik AES (Advanced Encryption Standart) gibi dünyaca kabul edilen güçlü şifreleme algoritmaları ile şifrelenmektedir. SSH protokolünde ayrıca transfer edilen verinin bütünlüğünü korumak için SHA-2 (Standart Hashing Algorithm) gibi algoritmalar da yer almaktadır.
Secure Socket Layer (SSL)’ı güncelleyen ve Transport Layer Security (TLS) protokolü, ağ üzerinde veri transferlerinde taşıma katmanına güvenlik getirmek üzere tasarlanmıştır. SSH protokolü taşıma katmanında ya da bir üst katmanda çalışabilir ancak iki protokol arasında önemli farklar bulunmaktadır. Her iki protokolde şifrelenmiş anahtarlar kullanılan TLS sadece sunucu tarafında doğrulama için tek bir anahtar çifti kullanmaktadır. SSH da ise her bağlantıda doğrulama için farklı bir anahtar çifti bulunur. Yerel makineden sunucuya bağlanırken ilk anahtar kullanılır. İkinci anahtar ise sunucuya bağlanan yerel makine doğrulamak için gerekir.
SSH ile TLS arasındaki önemli farklardan bir tanesi de TLS’in doğrulama yapmadan şifreli bağlantıya ya da doğrulama yapılmış şifresiz bağlantıya izin vermesidir. SSH ise tüm bağlantılarda doğrulama ve şifreleme gerçekleştirir. SSH, bilgi işlem departmanı çalışanlarına ya da sistem yöneticilerine uzaktaki kullanıcıyı yönetebilmek için güvenli bir mekanizma sunar. Kullanıcı ile sunucu arasında bağlantının doğrulanması yerine cihazların kendisi doğrulanmaktadır. Bu sayede sistem yöneticileri known_host dosyasına anahtar çifti ekleme ya da çıkarma gibi SSH konfigürasyonlarını değiştirerek uzak sistemlere kolay ve güvenli bir bağlantı sağlar. SSH sunduğu avantajlar sayesinde günümüzde uzak bağlantılar için en çok tercih edilen protokoldür
ssh ile söyleyeceklerim bu kadar değerli okurlarım. soru ve sorunlarınızı yorum olarak bana iletebilirsiniz. iyi bloglamalar herkese.
Bir önceki yazımız olan veritabanı nedir, ne işe yarar başlıklı makalemizde veritabanı çeşitleri, veritabanı ne işe yarar ve veritabanı nedir hakkında bilgiler verilmektedir.