SSH nedir? Nasıl Kullanılır?

SSH (Secure Shell), bir bilgisayara veya sunucuya uzaktan, güvenli şekilde bağlanmak için kullanılan bir ağ protokolüdür.
SSH, ağ üzerindeki verileri şifreleyerek iletir, böylece üçüncü şahısların bağlantıyı dinlemesini veya bilgileri çalmasını engeller.

Kısaca SSH, sunucu yönetiminin en güvenli yolu olarak kabul edilir.
Örneğin bir Linux sunucusuna dosya aktarmak, konfigürasyon yapmak veya komut çalıştırmak istiyorsanız, bunu genellikle SSH üzerinden yaparsınız.

SSH’nin en bilinen portu 22 numaralı porttur ve bağlantılar genellikle bu port üzerinden gerçekleştirilir.


SSH Nedir ve Nasıl Çalışır?

SSH, istemci-sunucu mimarisi üzerinde çalışır.
Yani bir tarafta bağlanmak isteyen cihaz (istemci), diğer tarafta bağlantıyı kabul eden uzak sistem (sunucu) bulunur.

SSH bağlantısı kurulduğunda iki ana güvenlik adımı gerçekleşir:

  1. Kimlik Doğrulama (Authentication):
    Sunucu, bağlanmak isteyen kullanıcının kim olduğunu kontrol eder. Bu genellikle kullanıcı adı ve parola veya SSH anahtarı (SSH key) ile yapılır.

  2. Şifreli İletişim (Encryption):
    Bağlantı onaylandıktan sonra tüm veri trafiği şifrelenir. Böylece ağ üzerindeki veriler (örneğin girilen komutlar veya dosya içerikleri) okunamaz hale gelir.

ssh nedir

SSH Anahtarları (SSH Keys) Nedir?

SSH bağlantılarında parola yerine daha güvenli bir yöntem olarak anahtar doğrulama (key authentication) kullanılabilir.

Bu yöntemde iki dosya üretilir:

  • Public Key (Genel Anahtar): Sunucuya yüklenir.

  • Private Key (Özel Anahtar): Kullanıcının kendi bilgisayarında kalır.

Bağlantı yapılmak istendiğinde sunucu, özel anahtarı doğrulayarak kullanıcıyı tanır.
Bu sistem hem daha güvenlidir hem de şifre girme ihtiyacını ortadan kaldırır.

💡 Örnek:
Linux veya macOS’ta SSH anahtarı oluşturmak için:

ssh-keygen -t rsa -b 4096

SSH Nasıl Kullanılır? (Linux, macOS ve Windows)

SSH kullanımı oldukça basittir.
Bağlanmak istediğiniz sunucunun IP adresi, kullanıcı adı ve erişim izni yeterlidir.

1. Linux veya macOS Üzerinde SSH Kullanımı

Linux ve macOS sistemlerde SSH genellikle hazır olarak kurulu gelir.

Bağlantı komutu:

ssh kullanıcıadı@sunucu_ip_adresi

Örnek:

ssh root@192.168.1.100

Komut girildikten sonra şifre istenir ve bağlantı sağlanır.

2. Windows Üzerinde SSH Kullanımı

Windows kullanıcıları için iki popüler yöntem vardır:

  • PowerShell / CMD:
    Windows 10 ve sonrası sürümlerde SSH komutu varsayılan olarak gelir.
    Aynı komut kullanılabilir:

    ssh administrator@sunucu_ip
    
  • PuTTY:
    En yaygın kullanılan SSH istemci programıdır.
    PuTTY arayüzünde IP, port (22) ve kullanıcı bilgileri girilerek bağlantı başlatılır.

3. Mobil Cihazlarda SSH

Android için JuiceSSH, iOS için Termius gibi uygulamalarla SSH bağlantısı mobil cihazlardan da kurulabilir.

SSH ile Yapılabilecek İşlemler

SSH sadece bağlantı kurmakla kalmaz, birçok yönetim ve dosya işlemi de yapılabilir:

  1. Sunucu Yönetimi:
    Komut satırı üzerinden sistem yapılandırması, hizmet başlatma/durdurma, log kontrolü yapılabilir.

  2. Dosya Transferi:

    • scp (Secure Copy Protocol): Dosya gönderme ve alma işlemi.

      scp dosya.txt root@192.168.1.100:/home/
      
    • sftp (SSH File Transfer Protocol): FTP’nin güvenli versiyonudur.

  3. Tünelleme (Port Forwarding):
    SSH, başka servislerin trafiğini güvenli hale getirmek için de kullanılabilir.
    Örneğin bir uzak veritabanına güvenli bağlantı kurmak için tünelleme yapılabilir.

  4. Otomasyon ve Betikler:
    SSH, sistem yöneticilerinin otomatik görevler (örneğin yedekleme) oluşturmasında sıkça kullanılır.

SSH Kullanmanın Avantajları

  • Güvenli İletişim: Tüm veriler şifrelenir, kimlik doğrulama güçlüdür.
  • Uzak Yönetim Kolaylığı: Her yerden sunucu erişimi mümkündür.
  • Otomasyon Desteği: Scriptlerle görevler otomatikleştirilebilir.
  • Platform Bağımsız: Linux, Windows, macOS, Android, iOS fark etmez.
  • Dosya Transferi: SCP veya SFTP ile güvenli dosya aktarımı yapılabilir.

SSH Kullanmanın Dezavantajları

  • Yanlış yapılandırma riski: Root erişimi açık bırakmak saldırılara neden olabilir.
  • Brute force saldırıları: Zayıf parolalar SSH için ciddi tehlike oluşturur.
  • Bağlantı hataları: Firewall veya NAT ayarları SSH bağlantısını engelleyebilir.

Tavsiye:

  • Parola yerine SSH key kullanın.

  • Root erişimini kapatın ve normal kullanıcı hesabı üzerinden çalışın.

  • Fail2Ban gibi yazılımlarla brute-force saldırılarını engelleyin.

SSH Güvenliği İçin En İyi Uygulamalar

  1. Root Girişi Devre Dışı Bırakın:
    /etc/ssh/sshd_config dosyasında PermitRootLogin no olarak değiştirin.

  2. Farklı Port Kullanın:
    Port 22 yerine farklı bir port belirleyin (örneğin 2222).

  3. SSH Key Authentication Kullanın:
    Parola yerine anahtar tabanlı giriş kullanın.

  4. İki Faktörlü Kimlik Doğrulama (2FA):
    Ek güvenlik katmanı için 2FA uygulamaları entegre edin.

  5. IP Kısıtlaması Uygulayın:
    Yalnızca belirli IP adreslerinin erişimine izin verin.

Sonuç: SSH Nedir ve Neden Önemlidir?

SSH, günümüzün dijital dünyasında uzaktan erişim, sistem yönetimi ve güvenli dosya aktarımı için vazgeçilmez bir teknolojidir.
Hem bireysel kullanıcılar hem de büyük ölçekli kurumlar, sistemlerini korumak ve yönetmek için SSH’ye güvenir.

Doğru yapılandırıldığında SSH, güvenlik, hız ve esneklik açısından en ideal uzaktan bağlantı yöntemidir.

SSH ile güvenli uzaktan erişimin temellerini öğrendik.
Eğer veri aktarımı konusuna da ilginiz varsa, sıradaki yazımızda FTP nedir?” sorusuna birlikte göz atabiliriz.
Dosyaların sunucular arasında nasıl taşındığını ve FTP’nin çalışma mantığını öğrenmek için bir sonraki içeriğe geçebilirsiniz.

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir