SSH Hakkında – İleri Düzey SSH

30 Temmuz 2008

SSH Hakkında ile ileri düzey SSH kullanımı serisinin ilk yazısına bir İstanbul – Ankara yolculuğu sırasında başlangıç yapıyorum. SSH ile ilgili ilk yazı olduğu için önce sizleri SSH hakkında biraz bilgilendirmek isterim.

SSH Secure SHell’in kısaltılmış halidir. OpenBSD projesi içerisinde OpenSSH adıyla doğmuş bir alt projedir. Telnet, rsh, rlogin gibi uzaktan UNIX yönetmeye yarayan araçların yerine güvenli bir çözüm olması amacıyla geliştirilmiştir. Ön tanımlı olarak TCP 22 portundan çalışmaktadır. SSH v1 ve v2 sürümleri vardır. SSHv1 sürümü kolay kırılabilir olduğu için v2’nin kullanımı önerilmektedir ve birçok sistem yöneticisi SSH sunucularının v1 konuşmasını engellemektedir.

SSH uzaktan UNIX yönetme dışında scp ve sftp alt hizmetlerine de sahiptir. Bu şekilde scp veya sftp araçlarını kullanarak aynı TCP 22 numaralı port üzerinden sistemler arası güvenli dosya alışverişi de yapılabilmektedir. Hemen hemen tüm UNIX sistemlerinde bulunmaktadır. Windows üstünde OpenSSH sunucu yazılımı cygwin ortamı ile derlenip çalıştırılabilmektedir. SSH aynı zamanda mevcut güvenli bağlantısı üzerinden port yönlendirebilmektedir. Diğer bir deyişle bir başka uygulamanın bağlantısını kendi üzerinden geçirerek hedef sisteme güvenli bir şekilde ulaştırabilmektedir. SSH X11 yönlendirmesi de yapabilmektedir. Yani SSH ile bağlanılan uzak UNIX üstündeki grafik tabanlı uygulamaları rahatlıkla çalıştırılabilmektedir. SSH socks proxy’lik yapabilmektedir. Socks proxy özelliği Dynamic Port Forwarding olarak adlandırılmaktadır. SSH ile Linux sistemler arasında VPN de kurulabilmektedir. SSH gizli / açık anahtar ikilisi (ing. private / public key pair) ile çalışarak kullanıcı doğrulama da yapabilmektedir. Arzu edilirse SSH özel anahtarı bir smartcard donanım üzerinde de saklayıp kullanabilmektedir. Özet olarak SSH çok marifetli bir uygulamadır. Kullanımına alışınca güvenlik duvarı atlatma, güvenli dosya transferi, socks proxy hizmeti, VPN gibi birçok ihtiyacınızı SSH ile karşılayabilirsiniz.

Windows işletim sistemi üzerinde SSH istemcisi olarak putty, SCP ve SFTP amacıyla da WinSCP kullanılabilir.

Temel kullanımı aşağıdaki biçimdedir:

$ ssh -l kullanici wrana.pro-g.com.tr

wrana.pro-g.com.tr sunucu sistemine kullanici kullanıcısı ile uzak komut satırı oturumu açar.

$ ssh [email protected]

192.168.0.117 sunucu sistemine kullanici kullanıcısı ile uzak komut satırı oturumu açar.

$ ssh [email protected] halt -p

192.168.0.117 sunucu sistemine root kullanıcısı ile uzak oturum açar, halt -p komutunu işletir ve komut sonlanır sonlanmaz oturum otomatik olarak kapatılır.

$ scp dosya kullanici@sistem:

kullanici kullanıcı kimliği ile sistem sunucusuna ssh oturum açar, dosya isimli yerel dosyayı sistem isimli sistemdeki kullanici kullanıcısının ev klasörüne kopyalar. Uzak sistem tanımından sonra “:” karakteri önemlidir. Unutulmamalıdır. Aksi taktirde bildiğimiz yerel cp komutu görevi görür.

$ scp dosya kullanici@sistem:/tmp

kullanici kullanıcı kimliği ile sistem sunucusuna ssh oturum açar, dosya isimli yerel dosyayı sistem isimli sistemdeki /tmp klasörüne kopyalar. Uzak sistem tanımından sonra “:” karakteri önemlidir. Unutulmamalıdır. Aksi taktirde bildiğimiz yerel cp komutu görevi görür.

$ scp kullanici@sistem:tmp/dosya .

kullanici kullanıcı kimliği ile sistem sunucusuna ssh oturumu açar, uzaktaki kullanici kullanıcsının ev klasörü altında yer alan tmp klasörü altındaki dosta isimli dosyayı yerel sistemde bulunduğnuz yere kopyalar. Uzak sistem tanımından sonra “:” karakteri önemlidir. Unutulmamalıdır. Aksi taktirde bildiğimiz yerel cp komutu görevi görür.

$ sftp kullanici@sistem
SFTP> pwd
/home/kullanici
SFTP> put dosya
SFTP> exit

kullanici kullanıcı kimliği ile sistem sunucusuna ssh oturumu açar, yerel bilgisayarda bulunulan yerdeki dosya isimli dosya uzak sisteme transfer edilir. SFTP FTP’ye benzeyen komutlara sahiptir. put ile dosya uzak sisteme transfer edilirken, get ile dosya uzak sistemden indirilir. Daha fazla komut için SFTP komut isteminde help komutunu işletilebilir.

SSH temel kullanımı bu şekildedir. Temel kullanımda daha fazla teferruata girmeye gerek yoktur. Adı üstünde; temel kullanım.

Ancak SSH ile yapılabilecek ve fantezi olarak adlandırabileceğim diğer konularda yeterince ayrıntıya giriyor olacağım. Lütfen günlüğümü izlemeye devam ediniz.

Takip edecek olan İleri Düzey SSH serisi yazılarım:

  1. SSH Hakkında
  2. SSH Anahtar Kullanımı
  3. SSH Ajanı Kullanımı
  4. SSH Yerel Port Yönlendirme
  5. SSH Uzak Port Yönlendirme
  6. SSH Dinamik Port Yönlendirme
  7. SSH ile VPN

Etiketler: , , , , , , , , , , , ,

  1. “SSH Hakkında – İleri Düzey SSH” için 2 Yorum

  2. Gürkan DEMİRTAŞ diyor ki:
    16 Aralık 2008 tarihinde.

    Sayın hocam dökümanınız gayet güzel fakat bir çömez olarak biraz yardımınıza ihtiyacım var.
    öncelikle amacım öğrenmek ve uygulamak.
    ssh ve putty iklisini bir proxy olarak nasıl kullanırım?

    şu anda ne aşamada olduğumuda belirteyim freeshell veren bir siteden shell aldım. putty ile ayarını yaparak bağlandım fakat proxy yapamadım. nerde hata olabilir.

    saygılar.

  3. Sezai YILMAZ diyor ki:
    18 Aralık 2008 tarihinde.

    SSH Dinamik Port Yönlendirme gönderimi okumanızı öneririm. Aradığınız sorunun yanıtı orada yazılı. Ancak freeshell veren yerlerden SSH tunneling destekleyenini bugüne kadar görmedim. Çalışmama ihtimali var.

Yorum Yapın