Secure Shell (SSH) jest niezbędnym narzędziem dla administratorów systemów, programistów i każdego, kto zarządza zdalnymi serwerami. Dzięki dostępowi zdalnemu SSH możesz bezpiecznie połączyć się z zdalną maszyną, wykonywać polecenia, przesyłać pliki i wykonywać zadania administracyjne. W tym artykule omówimy 10 powszechnych poleceń SSH, które powinieneś używać już dziś.

1. Łączenie z Zdalnym Serwerem

Najbardziej podstawowe polecenie SSH służy do łączenia się z zdalnym serwerem:

ssh user@remote_host

Zastąp user swoją nazwą użytkownika, a remote_host adresem IP serwera lub nazwą domeny.

2. Łączenie z Określonym Portem

Domyślnie SSH używa portu 22, ale możesz określić inny port, jeśli to konieczne:

ssh -p 2222 user@remote_host

Jest to przydatne, jeśli serwer SSH jest skonfigurowany do działania na niestandardowym porcie.

3. Używanie Kluczy SSH do Uwierzytelniania

Zamiast używać hasła, możesz uwierzytelnić się za pomocą klucza SSH:

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

Generowanie klucza SSH można wykonać za pomocą:

ssh-keygen -t rsa -b 4096

To poprawia bezpieczeństwo i eliminuje potrzebę wprowadzania hasła za każdym razem.

4. Wykonywanie Poleceń na Zdalnym Serwerze

Możesz wykonać pojedyncze polecenie na zdalnym serwerze bez otwierania interaktywnej sesji:

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

To jest przydatne do szybkich zadań administracyjnych.

5. Kopiowanie Plików za pomocą SCP

Secure Copy Protocol (SCP) pozwala na przesyłanie plików między lokalnymi a zdalnymi maszynami:

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

Aby skopiować katalog rekurencyjnie:

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

6. Kopiowanie Plików za pomocą rsync

Alternatywą dla SCP jest rsync, która jest bardziej efektywna w synchronizacji plików:

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

Minimalizuje to transfer danych, wysyłając tylko różnice między plikami.

7. Ustawianie Tunelowania SSH

Tunelowanie SSH pozwala na bezpieczne przesyłanie ruchu sieciowego. Aby utworzyć lokalny tunel:

ssh -L 8080:localhost:80 user@remote_host

To przesyła ruch z twojego lokalnego portu 8080 do portu 80 zdalnego serwera.

8. Odwrócone Tunelowanie SSH

Odwrócone tunelowanie pozwala zdalnemu serwerowi uzyskać dostęp do twojej lokalnej maszyny:

ssh -R 9090:localhost:22 user@remote_host

To jest przydatne do uzyskiwania dostępu do systemu za zaporą ogniową.

9. Mnożenie Połączeń SSH

Jeśli często łączysz się z tym samym serwerem, możesz przyspieszyć SSH, włączając mnożenie:

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

To zmniejsza obciążenie uwierzytelniania dla wielu sesji SSH.

10. Zamykanie Sesji SSH

Aby zamknąć sesję SSH, wystarczy wpisać:

exit

Lub użyj sekwencji ucieczki:

~.

To jest pomocne, gdy połączenie staje się nieodpowiadające.