Secure Shell (SSH), sistem yöneticileri, geliştiriciler ve uzaktan sunucuları yöneten herkes için temel bir araçtır. SSH uzaktan erişimi ile uzaktaki bir makineye güvenli bir şekilde bağlanabilir, komutlar çalıştırabilir, dosyalar transfer edebilir ve yönetimsel görevler gerçekleştirebilirsiniz. Bu makalede, bugün kullanmanız gereken 10 yaygın SSH komutunu keşfedeceğiz.

1. Uzaktan Sunucuya Bağlanma

En temel SSH komutu, uzaktan bir sunucuya bağlanmak için kullanılır:

ssh user@remote_host

user‘yi kullanıcı adınızla ve remote_host‘yi sunucunun IP adresi veya alan adıyla değiştirin.

2. Belirli Bir Port ile Bağlanma

Varsayılan olarak, SSH 22 numaralı portu kullanır, ancak gerekirse farklı bir port belirtebilirsiniz:

ssh -p 2222 user@remote_host

Bu, SSH sunucusu standart olmayan bir portta çalışacak şekilde yapılandırıldığında faydalıdır.

3. Kimlik Doğrulama için SSH Anahtarları Kullanma

Bir şifre yerine, bir SSH anahtarı ile kimlik doğrulaması yapabilirsiniz:

ssh -i /path/to/private_key user@remote_host

Bir SSH anahtarı oluşturmak için:

ssh-keygen -t rsa -b 4096

Bu, güvenliği artırır ve her seferinde bir şifre girme gereğini ortadan kaldırır.

4. Uzaktan Sunucuda Komut Çalıştırma

Etkileşimli bir oturum açmadan uzaktaki bir sunucuda tek bir komut çalıştırabilirsiniz:

ssh user@remote_host "ls -l /var/www/html"

Bu, hızlı yönetimsel görevler için faydalıdır.

5. SCP ile Dosya Kopyalama

Güvenli Kopyalama Protokolü (SCP), yerel ve uzaktaki makineler arasında dosya transferi yapmanızı sağlar:

scp file.txt user@remote_host:/remote/directory/

Bir dizini özyinelemeli olarak kopyalamak için:

scp -r /local/directory user@remote_host:/remote/directory/

6. rsync ile Dosya Kopyalama

SCP’ye alternatif olarak rsync, dosyaları senkronize etmek için daha verimlidir:

rsync -avz /local/directory user@remote_host:/remote/directory

Bu, dosyalar arasındaki farkları göndererek veri transferini en aza indirir.

7. SSH Tünelleme Kurma

SSH tünelleme, ağ trafiğini güvenli bir şekilde yönlendirmenizi sağlar. Yerel bir tünel oluşturmak için:

ssh -L 8080:localhost:80 user@remote_host

Bu, yerel port 8080’den uzaktaki sunucunun port 80’ine trafiği yönlendirir.

8. Ters SSH Tünelleme

Ters tünelleme, uzaktaki bir sunucunun yerel makinenize erişmesine olanak tanır:

ssh -R 9090:localhost:22 user@remote_host

Bu, bir güvenlik duvarının arkasındaki bir sisteme erişmek için faydalıdır.

9. SSH Bağlantılarını Çoklama

Aynı sunucuya sık sık bağlanıyorsanız, çoklamayı etkinleştirerek SSH’yi hızlandırabilirsiniz:

ssh -o ControlMaster=yes -o ControlPath=~/.ssh/socket user@remote_host

Bu, birden fazla SSH oturumu için kimlik doğrulama yükünü azaltır.

10. SSH Oturumunu Sonlandırma

Bir SSH oturumunu kapatmak için, basitçe yazın:

exit

Ya da kaçış dizisini kullanın:

~.

Bu, bağlantı yanıt vermediğinde faydalıdır.