[4] Narzędzia dla serwera OpenSSH

28 stycznia 2023 Wyłączono przez Adam [zicherka] Nogły

Pakiet 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:~ $