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.
- Zastąp username swoją nazwą użytkownika, a remote_host adresem IP serwera lub nazwą domeny.
Przykład:
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ć.
Przykład:
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.
Przykład:
4. Kopiowanie plików ze zdalnego do lokalnego przy użyciu scp
Pobieranie plików ze zdalnego serwera na komputer lokalny:
Przykład:
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.
Przykład:
6. Wykonywanie poleceń na zdalnym serwerze
Polecenie można wykonać na zdalnym serwerze bez otwierania interaktywnej sesji SSH.
Przykład:
7. Uwierzytelnianie za pomocą klucza SSH
Aby uniknąć wprowadzania haseł za każdym razem, można użyć uwierzytelniania za pomocą klucza SSH.
- Wygeneruj parę kluczy SSH:ssh-keygen -t rsa
- 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:
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:
Przykład: Przekierowanie lokalnego portu 8080 na port 3306 na zdalnym serwerze.
Zdalne przekierowanie portów:
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.
Przykład:
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.
Przykład:
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:
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ć:
Lub:
Polecenia te pokazują, którzy użytkownicy są aktualnie zalogowani na serwerze.
14. Zakończenie sesji SSH
Aby zakończyć sesję SSH, wystarczy wpisać:
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.
Przykład:
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:
- Uruchom agenta SSH na komputerze lokalnym:eval $(ssh-agent)
ssh-add ~/.ssh/id_rsa - 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:
- Edytuj lub utwórz ~/.ssh/config:nano ~/.ssh/config
- Dodaj wpis:Host myserver
HostName example.com
Użytkownik user
Port 2222
IdentityFile ~/.ssh/id_rsa - Połącz z:ssh myserver
18. Sprawdź wersję SSH
Aby sprawdzić, która wersja SSH jest zainstalowana w systemie:
Przykładowe wyjście:
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:
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:
Przykład:
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.