ssh

 

🔐 TELNET ve SSH: Uzak Sistemlere Güvenli Erişim (Detaylı Türkçe Anlatım)

TELNET: Kolay ama Güvensiz

Networking Concepts odasında TELNET protokolünü kullanmıştık. TELNET, uzak sistemlere bağlanıp onları yönetmek için oldukça kolay bir araçtır. Ancak en büyük zayıf noktası, tüm veriyi şifrelenmemiş (cleartext) olarak iletmesidir. Yani, ağ trafiğini izleyen herhangi biri, TELNET ile giriş yaptığınızda kullanıcı adınızı ve şifrenizi rahatlıkla görebilir.

Bu ciddi güvenlik sorunu, daha güvenli bir çözüm arayışını doğurdu.


SSH'nin Ortaya Çıkışı

1995 yılında Tatu Ylönen, bu güvenlik açığını kapatmak için Secure Shell (SSH) protokolünü geliştirdi ve SSH-1 sürümünü ücretsiz olarak yayımladı. Aynı yıl Netscape firması da SSL 2.0 protokolünü piyasaya sürdü.

SSH’nin daha güvenli ve gelişmiş versiyonu olan SSH-2, 1996 yılında tanımlandı. Ardından 1999’da OpenBSD geliştiricileri, OpenSSH adını verdikleri açık kaynak bir SSH implementasyonu yayınladılar. Günümüzde kullandığımız SSH istemcileri büyük ihtimalle OpenSSH altyapısını kullanmaktadır.


OpenSSH’nin Sağladığı Avantajlar

OpenSSH birçok güvenlik ve kullanım avantajı sunar:

  1. Güvenli Kimlik Doğrulama: Sadece şifre ile değil, açık anahtar (public key) ve iki faktörlü doğrulama (2FA) ile de giriş mümkündür.

  2. Gizlilik (Confidentiality): Uçtan uca şifreleme sağlar. Dinlemeye (eavesdropping) karşı korur. Ayrıca, yeni sunucu anahtarlarında sizi uyararak ortadaki adam (man-in-the-middle) saldırılarını engeller.

  3. Bütünlük (Integrity): Verilerin sadece gizliliğini değil, değiştirilmemesini (tahrif edilmemesini) de garanti altına alır.

  4. Tünelleme (Tunneling): Diğer protokolleri SSH üzerinden güvenli biçimde geçirebilir (VPN benzeri yapı oluşturur).

  5. X11 Yönlendirme (X11 Forwarding): Grafik arayüze sahip Unix sistemlerine bağlanarak, bu grafik uygulamaları ağ üzerinden kullanmanıza izin verir.


SSH ile Bağlantı Kurma

SSH istemcisi kullanarak uzak bir sunucuya bağlanmak için şu komut yazılır:

bash
ssh kullanıcı_adı@sunucu_adresi

Eğer yerel kullanıcı adınız ile sunucudaki kullanıcı adınız aynıysa sadece şunu yazmanız yeterlidir:

bash
ssh sunucu_adresi

Ardından sizden şifre istenir. Ancak eğer açık anahtar ile kimlik doğrulama yapılandırılmışsa, sistem sizi otomatik olarak şifre sormadan oturum açar.


Grafik Arayüzlü Uygulamalar: Wireshark Örneği

Aşağıdaki ekran görüntüsünde, uzak bir Kali Linux sistemine SSH ile bağlanıldıktan sonra Wireshark adlı grafiksel uygulamanın çalıştırıldığı görülüyor. Grafik arayüz desteği için -X parametresi kullanılır:

bash
ssh 192.168.124.148 -X

(Not: Yerel sisteminizde X11 gibi uygun bir grafik sistemi kurulu olmalıdır.)


Bağlantı Noktaları (Portlar)

  • TELNET, varsayılan olarak 23 numaralı port üzerinden çalışır.

  • SSH, 22 numaralı port üzerinden iletişim kurar.


🔐 TELNET and SSH: Secure Remote Access (Expanded English Version)

TELNET: Convenient But Insecure

In the Networking Concepts room, we used the TELNET protocol to log in to remote systems. While TELNET makes remote administration straightforward, it comes with a major drawback: all communication is sent in cleartext. Anyone monitoring the network can easily intercept login credentials—including usernames and passwords—used during a TELNET session.

This serious vulnerability highlighted the need for a secure alternative.


The Birth of SSH

In 1995, Tatu Ylönen developed the Secure Shell (SSH) protocol as a safer alternative to TELNET and released SSH-1 as freeware. Coincidentally, this was the same year Netscape released the SSL 2.0 protocol.

A more secure version, SSH-2, was released in 1996. Later, in 1999, the OpenBSD team introduced OpenSSH, an open-source implementation of the SSH protocol. Today, most SSH clients are built on top of OpenSSH libraries and source code.


Advantages of OpenSSH

OpenSSH provides numerous security and usability benefits:

  1. Secure Authentication: In addition to passwords, SSH supports public key and two-factor authentication (2FA).

  2. Confidentiality: It ensures end-to-end encryption, protecting against eavesdropping. It also alerts users to new server keys to prevent man-in-the-middle attacks.

  3. Integrity: SSH not only encrypts the data but also protects it from tampering using cryptographic integrity checks.

  4. Tunneling: SSH can securely tunnel other protocols, creating VPN-like connections.

  5. X11 Forwarding: When connecting to Unix-like systems with GUIs, SSH allows you to run graphical applications over the network.


Connecting with SSH

To connect to an SSH server, use:

bash
ssh username@hostname

If your local and remote usernames are the same, you can simply use:

bash
ssh hostname

You’ll then be prompted for a password. If public-key authentication is set up, you’ll be logged in instantly—without entering a password.


Running GUI Applications Remotely: Wireshark Example

The screenshot below demonstrates running Wireshark on a remote Kali Linux system using SSH with graphical support. The -X flag is required for GUI applications:

bash
ssh 192.168.124.148 -X

(Ensure your local system supports X11 or similar GUI frameworks.)

After establishing the SSH session, we were able to launch and use the graphical Wireshark interface remotely.


Ports

  • TELNET servers listen on port 23.

  • SSH servers operate on port 22 by default.