Protokół Secure Shell to powszechny sposób łączenia się ze zdalną maszyną za pośrednictwem aplikacji klient/serwer. Wykorzystuje między innymi zestaw narzędzi, takich jak ssh, scp i sftp, aby zapewnić bezpieczny proces uwierzytelniania i następującą po nim szyfrowaną komunikację. Z tego powodu narzędzia te zastępują inne starsze zestawy narzędzi do zdalnego wykonywania poleceń, takie jak telnet, rcp i rlogin.
W tym przewodniku dowiesz się, jak zainstalować i włączyć usługi serwera/klienta OpenSSH na swoim komputerze. Obejmuje również wszystkie niezbędne polecenia (narzędzia SSH) umożliwiające dostęp do systemów i zdalne zarządzanie nimi oraz przesyłanie plików pomiędzy nimi.
Pierwsze kroki z SSH
Domyślnie większość systemów Linux zawiera aplikacje klienckie i serwerowe ssh. Pakiety zawierające narzędzia ssh w dystrybucjach RHEL i Fedora to openssh, openssh-server i openssh-client. Użyj grep polecenie do pobrania narzędzi ssh z zainstalowanej listy:
zainstalowano listę mniam | grep opensh
Podczas gdy Ubuntu zawiera tylko pakiet openssh-client, który zawiera również pakiet openssh. Użyj polecenia grep, aby wyświetlić listę pakietów openssh w Ubuntu w następujący sposób:
sudo dpkg --lista | grep opensh
sudo apt-get install openssh-server
Zainicjuj/włącz usługę SSH
Zarządzanie usługą openssh może różnić się w zależności od dystrybucji i niezależnie od domyślnych konfiguracji, nie uruchamia się automatycznie. Użyj następującego zestawu poleceń, aby upewnić się, że usługa jest uruchomiona i działa na komputerze z systemem Linux:
systemctl status sshd.service #dla Fedory i RHEL
systemctl status ssh #dla Ubuntu
Jeśli nie jest uruchomiony, sprawdź stan usługi w następujący sposób:
systemctl start sshd.service #dla Fedory i RHEL
systemctl ssh start #dla Ubuntu
Aby zainicjować openssh-server zaraz po uruchomieniu systemu:
systemctl włącz sshd.service
włącz systemctl ssh
Wśród wielu innych narzędzi do wykorzystania Protokół SSH w przypadku zdalnego dostępu do systemu Linux najczęściej używane jest polecenie ssh dla zdalnego kodu wykonanie i logowanie, gdzie scp i rsync są przydatne przy kopiowaniu jednego lub więcej plików między klientem i serwer.
Sekcja zawiera szczegółowe informacje na temat wyżej omówionych poleceń w celu wydajnego zarządzania zdalnego.
Zdalne logowanie
SSH to polecenie, którego będziesz najczęściej używać do zdalnej konfiguracji serwera Linux z usługą sshd. Użyj polecenia ssh, aby sprawdzić, czy możesz zalogować się do serwera Linux w celu wykonania polecenia.
Możesz użyć innego komputera z Linuksem, aby zalogować się na swój serwer, lub możesz się o tym przekonać, symulując go na swoim Lokalny Gospodarz następująco:
W przypadku zdalnego logowania do konta Ubuntu pod adresem X.X.X.X (gdzie X.X.X.X to adres IP zdalnego urządzenia):
ssh [email protected]
W przypadku zdalnego logowania jako użytkownik lokalny:
ssh localhost
Jeżeli logujesz się po raz pierwszy do zdalnego serwera, zostaniesz poproszony o potwierdzenie połączenia z systemem, wpisz tak i wpisz hasło do konta użytkownika.
Po zalogowaniu można kontynuować zdalne wykonywanie polecenia, ponieważ jest ono podobne do zwykłego logowania, z tą różnicą, że komunikacja zdalna jest szyfrowana.
Po zakończeniu wpisz Wyjście polecenie, aby zakończyć sesję i powrócić do systemu lokalnego. Jeśli nie uda się zamknąć zdalnej powłoki, ~. klawisze również wykonują podobne zadanie i wyświetlają „Połączenie z X.X.X.X zamknięte”.
Zdalne wykonanie
Polecenie ssh umożliwia wykonywanie poleceń w systemie zdalnym i zwraca dane wyjściowe na komputerze lokalnym. Na przykład,
Następujące polecenie działa jako użytkownik ubuntu na zdalnym serwerze i zwraca nazwa hosta:
ssh [email protected] nazwa hosta
Aby wykonać polecenie zawierające opcje lub flagi, otocz je podwójnymi cudzysłowami w następujący sposób:
ssh [email protected] "kot /tmp/nowy_plik"
Powyższe polecenie zwraca zawartość powyższego pliku na twoim lokalnym ekranie.
Możesz także uruchamiać wiele poleceń bez ponownego łączenia za każdym razem, włączając przekazywanie X11 na swoim serwerze. Otworzyć sshd_config plik w środku /etc/ssh katalog i zestaw X11 Przekazywanie do tak następująco:
Teraz uruchom polecenia w następujący sposób:
ssh -X [email protected] nazwa hosta i kot /tmp/nowy_plik/ i wyjdź
Kopiowanie plików przez scp i rsync
ten scp Komenda umożliwia przesyłanie/kopiowanie plików ze zdalnego do lokalnego systemu i odwrotnie. Jego funkcjonalność jest podobna do polecenia rcp, ale z szyfrowaną komunikacją RSA. Oto kilka przykładów.
Skopiuj plik z /etc/demo katalog zdalnej maszyny do swojego /tmp folder w następujący sposób:
scp [email protected]:/home/ubuntu/demo/plik /tmp
Umożliwia to również kopiowanie rekurencyjne, co oznacza, że możesz podać polecenie z katalogiem i kopiuje wszystkie pliki/foldery w dół hierarchii do innego katalogu lokalnego.
scp -r localhost:/home/ubuntu/ /tmp
Możesz także użyć polecenia scp do tworzenia kopii zapasowych plików i katalogów, ale rsync jest lepszym narzędziem do tworzenia kopii zapasowych z kilku powodów:
- scp nie ma możliwości zachowania uprawnień do plików/katalogów oraz czasu/daty.
- Nie jest również w stanie zidentyfikować już skopiowanych plików i katalogów.
Teraz wypisz zawartość powyższych katalogów, aby wyświetlić uprawnienia do pliku i czas utworzenia, w następujący sposób:
ls -l /etc/demo /tmp/demo
Powtórz powyższe polecenie scp i ponownie wymień katalogi, aby sprawdzić, czy zastępuje już skopiowany plik/katalogi ze swojego znacznika czasu:
Związane z:Bezpiecznie kopiuj pliki w systemie Linux za pomocą polecenia Scp
ten -p flaga ponieważ polecenie scp może pomóc w zachowaniu znacznika czasu lub uprawnień do zapisu, ale nadal zastępuje już skopiowane pliki. Aby przezwyciężyć te niedociągnięcia, użyj rsync jako narzędzia do tworzenia kopii zapasowych. Najpierw usuń pliki w /tmp katalog, aby kontynuować poniższy przykład. Użyj polecenia rsync z -a flaga do archiwizacji rekurencyjnej i -v opcja gadatliwego kopiowania /home/ubuntu/demo pliki do /tmp katalog w następujący sposób:
rsync -av [email protected]:/home/ubuntu/demo /tmp
Zrób listę /tmp katalog, aby zauważyć, jak zachowuje czas tworzenia pliku lub katalogu.
Na koniec ponownie uruchom rsync polecenie, aby sprawdzić, czy nie kopiuje żadnego pliku.
Poznawanie SSH
Artykuł jest przewodnikiem po najczęściej używanym protokole do zdalnego zarządzania serwerami Linux. Pokazujemy, jak korzystać z najważniejszych poleceń SSH z kilkoma poradami i sztuczkami, aby ułatwić zadanie kopiowania i zarządzania plikami.
Rozpoczęcie rozumienia poleceń/narzędzi SSH i ich funkcjonalności może zmienić Twój pogląd na zarządzanie systemem/serwerem, ponieważ odblokowuje możliwości nie tylko SSH, ale także terminala Linux. Jest to potężne narzędzie, które oferuje znaczne bezpieczeństwo, a także dodatkowe funkcje, które są zbyt zaawansowane, aby można je było omówić w jednym przewodniku.
Dowiedz się, jak zaoszczędzić czas na zarządzaniu zdalnymi serwerami za pomocą tych poleceń SSH i Linux.
Czytaj dalej
- Linux
- SSH
- Dostęp zdalny
Rumaisa jest niezależnym pisarzem w MUO. Przebyła długą drogę od matematyka do entuzjasty bezpieczeństwa informacji i pracuje jako analityk SOC. Jej zainteresowania obejmują czytanie i pisanie o nowych technologiach, dystrybucjach Linuksa i wszystkim, co dotyczy bezpieczeństwa informacji.
Zapisz się do naszego newslettera
Dołącz do naszego newslettera, aby otrzymywać porady techniczne, recenzje, bezpłatne e-booki i ekskluzywne oferty!
Kliknij tutaj, aby zasubskrybować