20 popularnych komend SSH, których powinieneś używać już dziś ⋆ ALexHost SRL

Test your skills on our all Hosting services and get 15% off!

Use code at checkout:

Skills
13.12.2024

20 popularnych komend SSH, których powinieneś używać już dziś

SSH (Secure Shell) to szeroko stosowany protokół umożliwiający bezpieczny dostęp do zdalnych serwerów. Umożliwia on zarządzanie zdalnymi systemami i interakcję z nimi za pośrednictwem szyfrowanego połączenia. Opanowanie podstawowych poleceń SSH może znacznie poprawić produktywność i ułatwić zarządzanie zdalnymi serwerami. Poniżej znajduje się 20 popularnych poleceń SSH, które powinien znać każdy administrator systemu, programista lub osoba pracująca z serwerami.

1. Podstawowe połączenie SSH

To polecenie służy do łączenia się ze zdalnym serwerem za pośrednictwem SSH.

ssh username@remote_host
  • Zastąp username swoją nazwą użytkownika, a remote_host adresem IP serwera lub nazwą domeny.

Przykład:

ssh user@example.com

2. Określ port

Domyślnie SSH używa portu 22. Jeśli twój serwer używa innego portu, użyj flagi -p, aby go określić.

ssh -p port_number username@remote_host

Przykład:

ssh -p 2222 user@example.com

3. Kopiowanie plików z lokalnego do zdalnego za pomocą scp

Użyj scp (bezpieczna kopia) do przesyłania plików z lokalnego komputera na zdalny serwer.

scp local_file username@remote_host:/path/to/destination

Przykład:

scp myfile.txt user@example.com:/home/user/

4. Kopiowanie plików ze zdalnego do lokalnego przy użyciu scp

Pobieranie plików ze zdalnego serwera na komputer lokalny:

scp username@remote_host:/path/to/remote_file /path/to/local_destination

Przykład:

scp user@example.com:/home/user/remote_file.txt .

5. Rekursywne kopiowanie katalogów przy użyciu scp

Aby skopiować całe katalogi (w tym podkatalogi), należy użyć flagi -r z scp.

scp -r /path/to/local_directory username@remote_host:/path/to/remote_destination

Przykład:

scp -r my_folder user@example.com:/home/user/

6. Wykonywanie poleceń na zdalnym serwerze

Polecenie można wykonać na zdalnym serwerze bez otwierania interaktywnej sesji SSH.

ssh username@remote_host ‘command_to_execute’

Przykład:

ssh user@example.com ‘ls -la /home/user’

7. Uwierzytelnianie za pomocą klucza SSH

Aby uniknąć wprowadzania haseł za każdym razem, można użyć uwierzytelniania za pomocą klucza SSH.

  1. Wygeneruj parę kluczy SSH:
    ssh-keygen -t rsa
  2. Skopiuj klucz publiczny na zdalny serwer:
    ssh-copy-id username@remote_host

Po skopiowaniu klucza można zalogować się bez hasła.

8. Sprawdzanie dzienników połączeń SSH

Aby wyświetlić próby logowania SSH i dzienniki połączeń na serwerze:

sudo cat /var/log/auth.log | grep ‘sshd’

To polecenie jest przydatne do monitorowania nieautoryzowanych prób logowania.

9. Tunelowanie SSH (przekierowanie portów)

Tunelowanie SSH umożliwia bezpieczne przekazywanie ruchu z lokalnego portu do zdalnego serwera.

Przekierowanie portu lokalnego:

ssh -L local_port:remote_host:remote_port username@remote_host

Przykład: Przekierowanie lokalnego portu 8080 na port 3306 na zdalnym serwerze.

ssh -L 8080:localhost:3306 user@example.com

Zdalne przekierowanie portów:

ssh -R remote_port:local_host:local_port username@remote_host

10. SSH do zdalnego serwera z innym plikiem tożsamości

Jeśli masz wiele kluczy SSH, możesz określić konkretny klucz za pomocą flagi -i.

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

Przykład:

ssh -i ~/.ssh/id_rsa user@example.com

11. Kopiowanie plików przy użyciu rsync przez SSH

rsync jest bardziej zaawansowanym narzędziem niż scp do kopiowania plików i katalogów.

rsync -avz /path/to/local_directory username@remote_host:/path/to/remote_directory

Przykład:

rsync -avz my_folder/ user@example.com:/home/user/

Flaga -a zachowuje uprawnienia do plików, -v oznacza szczegółowe dane wyjściowe, a -z włącza kompresję.

12. Sprawdzanie statusu połączenia SSH

Aby sprawdzić, czy połączenie SSH ze zdalnym serwerem jest nadal aktywne:

ssh -O check username@remote_host

To polecenie sprawdza status połączenia bez przerywania go.

13. Lista aktywnych połączeń SSH

Aby wyświetlić listę aktywnych połączeń SSH na serwerze, można użyć:

who

Lub:

w

Polecenia te pokazują, którzy użytkownicy są aktualnie zalogowani na serwerze.

14. Zakończenie sesji SSH

Aby zakończyć sesję SSH, wystarczy wpisać:

exit

Lub naciśnij Ctrl D.

15. Konfiguracja serwera proxy SOCKS za pomocą SSH

SSH może działać jako proxy SOCKS, umożliwiając bezpieczne przeglądanie Internetu przez tunel SSH.

ssh -D local_port username@remote_host

Przykład:

ssh -D 8080 user@example.com

Następnie ustaw ustawienia proxy przeglądarki na localhost:8080, aby korzystać z proxy SOCKS.

16. Przekierowanie agenta SSH

Jeśli chcesz używać lokalnych kluczy SSH na zdalnym serwerze:

  1. Uruchom agenta SSH na komputerze lokalnym:
    eval $(ssh-agent)
    ssh-add ~/.ssh/id_rsa
  2. Połącz się z przekierowaniem agenta:
    ssh -A username@remote_host

Pozwala to na połączenie SSH ze zdalnego serwera na inny serwer przy użyciu klucza lokalnego.

17. Plik konfiguracyjny SSH

Aby uprościć połączenia SSH, można utworzyć plik konfiguracyjny:

  1. Edytuj lub utwórz ~/.ssh/config:
    nano ~/.ssh/config
  2. Dodaj wpis:
    Host myserver
    HostName example.com
    Użytkownik user
    Port 2222
    IdentityFile ~/.ssh/id_rsa
  3. Połącz z:
    ssh myserver

18. Sprawdź wersję SSH

Aby sprawdzić, która wersja SSH jest zainstalowana w systemie:

ssh -V

Przykładowe wyjście:

OpenSSH_8.4p1, OpenSSL 1.1.1k 25 marca 2021 r

19. Ustaw interwał KeepAlive, aby zapobiec przekroczeniu limitu czasu

Aby utrzymać połączenie SSH przy życiu i zapobiec przekroczeniu limitu czasu, dodaj następujące elementy w ~/.ssh/config:

Host *
ServerAliveInterval 60

Powoduje to wysyłanie sygnału keep-alive co 60 sekund.

20. Sprawdź dostępną przestrzeń dyskową na serwerze zdalnym

Możesz użyć df przez SSH, aby sprawdzić przestrzeń dyskową na zdalnym serwerze:

ssh username@remote_host ‘df -h’

Przykład:

ssh user@example.com ‘df -h’

To polecenie pokazuje dostępną przestrzeń dyskową w formacie czytelnym dla człowieka (-h).

Podsumowanie

Te 20 poleceń SSH obejmuje szeroki zakres funkcji, od podstawowych połączeń i przesyłania plików po zaawansowane zadania, takie jak tunelowanie i używanie kluczy SSH. Dzięki opanowaniu tych poleceń można zarządzać zdalnymi serwerami w bardziej wydajny i bezpieczny sposób. Niezależnie od tego, czy wdrażasz aplikacje, przesyłasz pliki, czy rozwiązujesz problemy z serwerem, te polecenia SSH są niezbędnymi narzędziami w zestawie narzędzi administratora systemu.

Test your skills on our all Hosting services and get 15% off!

Use code at checkout:

Skills