[4] Narzędzia dla serwera OpenSSH
28 stycznia 2023Pakiet OpenSSH posiada klienta SSH, klienta SFTP oraz klienta SCP. SSH pozwala logować się do zdalnych konsol systemów, zaś polecenia SFTP i SCP wykorzystuje się do kopiowania plików.
Klient SSH
Program ten umożliwia się logowanie do zdalnych sesji/konsol systemu. Czyli mówiąc wprost otwiera sesje terminalowe. Składnia jest następująca:
ssh –opcje użytkownik@host
Przy czym podstawowe opcje to:
-p – określa jaki port będzie wykorzystywany do połączenia (musi być ustawiony taki sam na serwerze). Domyślnie jest wykorzystywany port 22, którego nie trzeba wpisywać,
-L port_lokalny:host:port_zdalny – tworzy tunel słąużący połączeniu się ze zdalnym hostem, przy wykorzystaniu ustawionych portów,
-N – opcja „nie wykonuj poleceń zdalnych” (wykorzystywana przy przekazywaniu portów opcją –L),
-f – uruchamia klienta SSH jako proces w tle.
Przykłady
# zaloguj się jako [user1] do komputera [vlsr01.zicher.lab] root@vfbsd01:~ # ssh user1@vlsr01.zicher.lab # zaloguj się jako [user2] do komputera [vlsr02.zicher.lab] z wykorzystaniem portu 2222 serwera SSH root@vfbsd01:~ # ssh -p 2222 user2@vlsr02.zicher.lab # połącz port lokalny 1234 z portem 2222 na serwerze SSH [vlsr03.zicher.lab] dla logu-jącego się użytkownika [user3] i wykonaj to w tle root@vfbsd01:~ # ssh -L 1234:vlsr03.zicher.lab:2222 -f -N user3@vlsr03.zicher.lab # zamknij utworzony wcześniej tunel root@vfbsd01:~ # killall – TERM ssh
Klient SCP
Jest to narzędzie, które służy do bezpiecznego kopiowania plików i katalogów z/do systemu zdalnego. Składnia programu jest następująca:
scp –opcje nazwa_pliku użytkownik@host:ścieżka
Przy czym podstawowe opcje to:
-C – włącza kompresję danych
-P – określa port serwera
-p – zachowuje oryginalne znaczniki czasu i uprawnienia
-r – kopiowanie rekurencyjne (z podkatalogami)
Przykłady
# skopiuj [fbsdtxt.txt] z katalogu bieżącego do katalogu [/home/user01] z hoście zdalnym [vlsr01.zicher.lab] jako użytkownik [user01] root@vfbsd01:~ # scp fbsdtxt.txt user01@vlsr01.zicher.lab:/home/user01 The authenticity of host ' vlsr01.zicher.lab (192.168.100.101)' can't be established. ED25519 key fingerprint is SHA256:z+ih7sH2SA/Rr+/7mNeGr6N5eNW4yYVOcrAANVmr37Y. No matching host key fingerprint found in DNS. This key is not known by any other names Are you sure you want to continue connecting (yes/no/[fingerprint])? yes # wpisz [yes], aby potwierdzić klucz Warning: Permanently added 'vlsr01.zicher.lab' (ED25519) to the list of known hosts. user01@vlsr01.zicher.lab's password: # wpisz hasło użytkownika [user01] fbsdtxt.txt 100% 0 0.0KB/s 00:00 [user01@vlsr01 ~]$ ll -rw-r--r--. 1 user01 user01 0 11-01 10:27 fbsdtxt.txt # skopiuj całą zawartość lokalnego katalogu [/home/fbsduser/pliki] do katalogu [/home/user01/test] zdalnego hosta [vlsr01.zicher.lab] jako użytkownik [user01], wraz z zachowaniem atrybutow i wykorzystaniem kompresji fbsduser@vfbsd01:~ $ scp -p -C /home/fbsduser/pliki/*.* user01@vlsr01.zicher.lab:/home/user01/test user01@vlsr01.zicher.lab's password: # wpisz hasło plik-1.txt 100% 0 0.0KB/s 00:00 plik-2.txt 100% 0 0.0KB/s 00:00 plik-3.txt 100% 0 0.0KB/s 00:00 [user01@vlsr01 ~]$ ll /home/user01/test/ razem 0 -rw-r--r--. 1 user01 user01 0 11-01 10:32 plik-1.txt -rw-r--r--. 1 user01 user01 0 11-01 10:32 plik-2.txt -rw-r--r--. 1 user01 user01 0 11-01 10:32 plik-3.txt # skopiuj zdalny plik [/home/user01/centostxt.txt] do lokalnego katalogu [/home/fbsduser/] z użyciem portu 22 i konta [user01] na serwerze [vlsr01.zicher.lab] fbsduser@vfbsd01:~ $ scp -P 22 user01@vlsr01.zicher.lab:/home/user01/centostxt.txt /home/fbsduser/ user01@vlsr01.zicher.lab's password: # wpisz hasło centostxt.txt 100% 0 0.0KB/s 00:00 fbsduser@vfbsd01:~ $ ll total 56 drwxr-xr-x 7 fbsduser fbsduser - 512 Nov 1 11:11 ./ drwxr-xr-x 3 root wheel - 512 Oct 31 22:55 ../ … -rw-r--r-- 1 fbsduser fbsduser - 0 Nov 1 11:11 centostxt.txt drwxr-xr-x 2 fbsduser fbsduser - 512 Nov 1 10:32 pliki/
Klient SFTP
Interaktywny program umożliwiający bezpieczną wymiane plików ze zdalnym systemem. Powinien być wykorzystany jako bezpieczna alternatywa dla FTP. Składnia polecenia jest nastepująca:
sftp –opcje użytkownik@host
Przy czym podstawowe opcje to:
-o Port=xx – port używany do połączenia (zgodny z ustawieniami serwera)
-C – włącza kompresję danych
Przykłady
# nawiąż połączenie z hostem [vlsr01.zicher.lab] jako użytkownik [user01] fbsduser@vfbsd01:~ $ sftp user01@vlsr01.zicher.lab user01@vlsr01.zicher.lab's password: # wpisz hasło Connected to vlsr01.zicher.lab. sftp> dir Maildir centostxt.txt fbsdtxt.txt test sftp> quit fbsduser@vfbsd01:~ $ # nawiąż połączenie z hostem [vlsr01.zicher.lab] przy użyciu portu 22 i konta użytkownika [user01] z włączoną kompresją danych fbsduser@vfbsd01:~ $ sftp -o Port=22 -C user01@vlsr01.zicher.lab user01@vlsr01.zicher.lab's password: # wpisz hasło Connected to vlsr01.zicher.lab. sftp> quit fbsduser@vfbsd01:~ $