Ana içeriğe geç
Kitap 11 · AğlarSayfa 27 / 37

SSH

Güvenli Kabuk

Güncellendi 2 dk okuma

Bu sayfayı paylaşın

Bağlantıyı gönderin, tanımı bağlantısıyla birlikte alıntılayın ya da kendi sitenizde bir kart olarak gösterin.

https://softwaredictionary.org/tr/terimler/ssh

Kısaca

SSH, uzak bilgisayarlarda güvenle oturum açıp komut çalıştırmaya yarayan, iki makine arasındaki tüm trafiği şifreleyen kriptografik bir ağ protokolüdür.

SSH nedir?

SSH (Secure Shell), bir ağ üzerinden başka bir bilgisayara bağlanıp onu sanki başında oturuyormuşsunuz gibi denetlemeye yarayan bir protokoldür. ssh user@server.example.com yazmak, yazdığınız her komutun sunucuda çalıştığı bir uzak kabuk (shell) açar. Bağlantıdan geçen her şey, parolalar, komutlar ve çıktı dahil, şifrelenir; SSH'ın Telnet gibi eski düz metin araçlarının yerini almasının nedeni budur. SSH sunucuları varsayılan olarak TCP 22 portunu dinler.

Bağlandığınızda istemci ve sunucu önce şifreleme anahtarları üzerinde anlaşır ve sunucu kimliğini bir ana makine anahtarıyla kanıtlar. İlk seferde istemci sizden sunucunun parmak izini onaylamanızı ister ve onu ~/.ssh/known_hosts içine kaydeder; anahtar herhangi bir zaman değişirse sizi yüksek sesle uyarır, bu bir ortadaki adam (man-in-the-middle) saldırısının işareti olabilir. Ardından bir parolayla ya da tercihen bir anahtar çiftiyle giriş yaparsınız: makinenizde kalan bir özel anahtar ve sunucunun ~/.ssh/authorized_keys dosyasına kopyaladığınız bir genel anahtar. Anahtar tabanlı giriş açık anahtarlı kriptografiye dayanır, bu yüzden gizli bilginiz ağdan hiç geçmez.

SSH, uzak bir makineye giden ve yalnızca sizin ile sunucunun duyabildiği kilitli, özel bir telefon hattı gibidir. Geliştiriciler onu her gün Linux sunucularını yönetmek, git@host:org/repo.git gibi URL'lerle Git depolarına push ve pull yapmak, scp ve sftp ile dosya kopyalamak ve yerel bir portu yalnızca sunucunun ulaşabildiği bir hizmete, örneğin özel bir veritabanına, yönlendiren tüneller açmak için kullanır. CI/CD işlem hatları da kodu sunuculara dağıtmak için SSH anahtarlarını kullanır.

SSH, ikisi de ağ trafiğini şifrelediği için sıklıkla SSL/TLS ile karıştırılır. TLS diğer protokoller için bağlantıları güvenli hale getirir, en görünür biçimde tarayıcıdaki HTTPS için, ve sertifika otoritelerinin verdiği sertifikalara dayanır; SSH ise uzak girişler, komutlar ve dosya aktarımları için yapılmış bağımsız bir protokoldür ve genellikle kullanıcıların kendilerinin doğruladığı anahtarlara güvenir. SSH bazen VPN sanılır: bir SSH tüneli belirli portları yönlendirirken, VPN tipik olarak bir cihazın tüm trafiğini taşır.

Önemli noktalar

  • SSH, şifreli uzak giriş, komut çalıştırma ve dosya aktarımı sağlar.
  • SSH sunucuları varsayılan olarak TCP 22 portunu dinler.
  • Özel ve genel anahtarla yapılan anahtar tabanlı kimlik doğrulama, parolalardan daha güvenlidir.
  • İstemci, sahtekârları saptamak için her sunucunun ana makine anahtarını known_hosts içinde hatırlar.
  • Git, scp, sftp ve port yönlendirme hepsi SSH üzerinden çalışır.

Örnek

Anahtar tabanlı SSH girişi kurmakbash
# Create a key pair (the private key stays in ~/.ssh/id_ed25519)
ssh-keygen -t ed25519 -C "dev laptop"

# Copy the public key into the server's authorized_keys file
ssh-copy-id deploy@server.example.com

# Log in without a password and run a single remote command
ssh deploy@server.example.com "uptime"

# Tunnel: reach the server's private database at localhost:5432
ssh -L 5432:localhost:5432 deploy@server.example.com

Sık sorulan sorular

SSH ile SSL/TLS arasındaki fark nedir?

İkisi de trafiği şifreler ama farklı amaçlara hizmet eder. TLS, HTTPS gibi diğer protokolleri güvenli hale getirir ve sertifika otoritelerinin verdiği sertifikaları kullanır; SSH ise uzak girişler, komutlar ve dosya aktarımları için bağımsız bir protokoldür ve genellikle kullanıcıların kendilerinin doğruladığı anahtarlara dayanır.

SSH anahtarıyla kimlik doğrulama parolaya göre daha güvenli midir?

Evet. Özel anahtar tahmin edilemeyecek kadar uzundur, makinenizden hiç çıkmaz ve bir parola ibaresiyle (passphrase) korunabilir; parolalar ise tahmin edilebilir, yeniden kullanılabilir veya oltalamayla ele geçirilebilir. Birçok sunucu anahtarlar kurulduktan sonra parolayla girişi tamamen kapatır.

SSH hangi portu kullanır?

SSH varsayılan olarak TCP 22 portunu kullanır. Yöneticiler otomatik giriş denemelerini azaltmak için bazen onu başka bir porta taşır, ama bu anahtar tabanlı kimlik doğrulamanın ve bir güvenlik duvarının yerini tutmaz.

İlgili sayfalar

Bu sayfada bir hata ya da eksik mi gördünüz?Düzeltme önerin

Daha fazla

Ayarlar