Как настроить доступ к сайту по SSH и работать из командной строки
Spisu treści:
- Instalowanie klienta OpenSSH
- Instalowanie klienta OpenSSH w systemie Linux
- Instalowanie OpenSSH na Ubuntu i Debianie
- Instalowanie OpenSSH na CentOS i Fedorze
- Instalowanie klienta OpenSSH w systemie Windows 10
- Instalowanie klienta OpenSSH na macOS
- Jak korzystać z polecenia
ssh - Plik konfiguracyjny SSH
- Przekazywanie portów
- Lokalne przekierowanie portów
- Zdalne przekierowanie portów
- Dynamiczne przekierowywanie portów
- Wniosek
Secure Shell (SSH) to kryptograficzny protokół sieciowy używany do szyfrowanego połączenia między klientem a serwerem. Klient ssh tworzy bezpieczne połączenie z serwerem SSH na zdalnym komputerze. Zaszyfrowanego połączenia można użyć do wykonania poleceń na serwerze, tunelowania X11, przekierowania portów i innych.
Istnieje wiele klientów SSH dostępnych zarówno bezpłatnie, jak i komercyjnie, przy czym najczęściej stosowanym klientem jest OpenSSH. Jest dostępny na wszystkich głównych platformach, w tym Linux, OpenBSD, Windows, macOS i innych.
, wyjaśnimy, jak używać klienta wiersza polecenia OpenSSH (
ssh
) do logowania się na zdalnym komputerze i uruchamiania poleceń lub wykonywania innych operacji.
Instalowanie klienta OpenSSH
Program klienta OpenSSH nazywa się
ssh
i można go wywoływać z terminala. Pakiet klienta OpenSSH udostępnia także inne narzędzia SSH, takie jak
scp
i
sftp
które są instalowane wraz z poleceniem
ssh
.
Instalowanie klienta OpenSSH w systemie Linux
Klient OpenSSH jest domyślnie instalowany w większości dystrybucji Linuksa. Jeśli twój system nie ma zainstalowanego klienta ssh, możesz go zainstalować za pomocą menedżera pakietów swojej dystrybucji.
Instalowanie OpenSSH na Ubuntu i Debianie
sudo apt update
sudo apt install openssh-client
Instalowanie OpenSSH na CentOS i Fedorze
sudo dnf install openssh-clients
Instalowanie klienta OpenSSH w systemie Windows 10
Większość użytkowników Windows używa Putty do łączenia się ze zdalnym komputerem przez SSH. Jednak najnowsze wersje systemu Windows 10 zawierają klienta i serwer OpenSSH. Oba pakiety można zainstalować za pomocą GUI lub PowerShell.
Aby znaleźć dokładną nazwę pakietu OpenSSH, wpisz następujące polecenie:
Get-WindowsCapability -Online | ? Name -like 'OpenSSH*'
Polecenie powinno zwrócić coś takiego:
Name: OpenSSH.Client~~~~0.0.1.0 State: NotPresent Name: OpenSSH.Server~~~~0.0.1.0 State: NotPresent
Gdy poznasz nazwę pakietu, zainstaluj go, uruchamiając:
Add-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0
Po sukcesie wynik będzie wyglądał mniej więcej tak:
Path: Online: True RestartNeeded: False
Instalowanie klienta OpenSSH na macOS
System macOS jest dostarczany z domyślnie zainstalowanym klientem OpenSSH.
Jak korzystać z polecenia
ssh
Aby móc zalogować się do zdalnego komputera za pośrednictwem SSH, muszą zostać spełnione następujące wymagania:
- Serwer SSH musi działać na komputerze zdalnym. Port SSH musi być otwarty w zaporze komputera zdalnego. Musisz znać nazwę użytkownika i hasło do konta zdalnego. Konto musi mieć odpowiednie uprawnienia do zdalnego logowania.
Podstawowa składnia polecenia
ssh
jest następująca:
ssh:HOST
Aby użyć polecenia
ssh
otwórz terminal lub PowerShell i wpisz
ssh
a następnie zdalną nazwę hosta:
ssh ssh.linuxize.com
Gdy po raz pierwszy połączysz się ze zdalnym komputerem za pośrednictwem SSH, zobaczysz komunikat jak poniżej.
The authenticity of host 'ssh.linuxize.com (192.168.121.111)' can't be established. ECDSA key fingerprint is SHA256:Vybt22mVXuNuB5unE++yowF7lgA/9/2bLSiO3qmYWBY. Are you sure you want to continue connecting (yes/no)?
Każdy host ma unikalny odcisk palca, który jest przechowywany w
~/.ssh/known_hosts
.
Wpisz „
yes
aby zapisać zdalny odcisk palca, a pojawi się monit o podanie hasła.
Warning: Permanently added 'ssh.linuxize.com' (ECDSA) to the list of known hosts. [email protected]'s password:
Po wprowadzeniu hasła nastąpi zalogowanie do zdalnego komputera.
Jeśli nazwa użytkownika nie zostanie podana, polecenie
ssh
używa bieżącej nazwy logowania do systemu.
Aby zalogować się jako inny użytkownik, określ nazwę użytkownika i host w następującym formacie:
ssh username@hostname
Nazwę użytkownika można również podać za pomocą opcji
-l
:
ssh -l username hostname
Domyślnie, gdy nie podano portu, klient SSH będzie próbował połączyć się ze zdalnym serwerem na porcie 22. Na niektórych serwerach administratorzy zmieniają domyślny port SSH, aby dodać dodatkową warstwę bezpieczeństwa do serwera, zmniejszając ryzyko zautomatyzowane ataki.
Aby połączyć się na porcie innym niż domyślny, użyj opcji
-p
, aby określić port:
ssh -p 5522 username@hostname
ssh -v username@hostname
Aby zwiększyć poziom gadatliwości, użyj
-vv
lub
-vv
.
Komenda
ssh
akceptuje wiele opcji.
Aby uzyskać pełną listę wszystkich opcji, przeczytaj stronę
man ssh
wpisując
man ssh
w swoim terminalu.
Plik konfiguracyjny SSH
Klient OpenSSH odczytuje opcje ustawione w pliku konfiguracyjnym dla użytkownika (
~/.ssh/config
). W tym pliku możesz przechowywać różne opcje SSH dla każdego zdalnego komputera, z którym się łączysz.
Przykładowa konfiguracja SSH jest pokazana poniżej:
Host dev HostName dev.linuxize.com User mike Port 4422
Gdy wywołujesz klienta ssh, wpisując
ssh dev
polecenie odczyta plik
~/.ssh/config
i użyje szczegółów połączenia określonych dla hosta dev. W tym przykładzie
ssh dev
jest równoważny z następującym:
ssh -p 4422 [email protected]
Aby uzyskać więcej informacji, zapoznaj się z artykułem na temat pliku konfiguracyjnego SSH.
Uwierzytelnianie za pomocą klucza publicznego
Protokół SSH obsługuje różne mechanizmy uwierzytelniania.
Mechanizm uwierzytelniania oparty na kluczu publicznym umożliwia logowanie się do zdalnego serwera bez konieczności wpisywania hasła.
Ta metoda polega na wygenerowaniu pary kluczy kryptograficznych używanych do uwierzytelniania. Klucz prywatny jest przechowywany na urządzeniu klienckim, a klucz publiczny jest przesyłany do każdego zdalnego serwera, na którym chcesz się zalogować. Serwer zdalny musi być skonfigurowany do akceptowania uwierzytelnienia klucza.
ssh-keygen -t rsa -b 4096 -C "[email protected]"
Zostaniesz poproszony o wpisanie bezpiecznego hasła. To, czy chcesz użyć hasła, zależy od Ciebie.
Po uzyskaniu pary kluczy skopiuj klucz publiczny na zdalny serwer:
ssh-copy-id username@hostname
Wprowadź hasło użytkownika zdalnego, a klucz publiczny zostanie dołączony do pliku kluczy użytkownika
authorized_keys
.
Po przesłaniu klucza możesz zalogować się na serwerze zdalnym bez monitowania o hasło.
Ustawiając uwierzytelnianie oparte na kluczach, można uprościć proces logowania i zwiększyć ogólne bezpieczeństwo serwera.
Przekazywanie portów
Tunelowanie SSH lub przekierowywanie portów SSH to metoda tworzenia szyfrowanego połączenia SSH między klientem a maszyną serwerową, za pośrednictwem której można przekazywać porty usług.
Przekazywanie SSH jest przydatne do przesyłania danych sieciowych usług wykorzystujących niezaszyfrowany protokół, takich jak VNC lub FTP, uzyskiwania dostępu do treści ograniczonych geograficznie lub omijania pośrednich zapór ogniowych. Zasadniczo możesz przekazać dowolny port TCP i tunelować ruch przez bezpieczne połączenie SSH.
Istnieją trzy typy przekierowania portów SSH:
Lokalne przekierowanie portów
Lokalne przekierowanie portów umożliwia przekazanie połączenia z hosta klienta do hosta serwera SSH, a następnie do docelowego portu hosta.
Aby utworzyć przekierowanie portu lokalnego, przekaż opcję
-L
do klienta
ssh
:
ssh -L LOCAL_PORT:DESTINATION_HOST:DESTINATION_PORT -N -f username@hostname
Opcja -f informuje komendę
ssh
aby działała w tle, a opcja
-N
nie wykonywała komendy zdalnej.
Zdalne przekierowanie portów
Zdalne przekierowanie portów jest przeciwieństwem lokalnego przekierowania portów. Przesyła port z hosta serwera do hosta klienta, a następnie do docelowego portu hosta.
Opcja
-L
mówi
ssh
aby utworzyła zdalne przekierowanie portów:
ssh -R REMOTE_PORT:DESTINATION:DESTINATION_PORT -N -f username@hostname
Dynamiczne przekierowywanie portów
Dynamiczne przekierowanie portów tworzy serwer proxy SOCKS, który umożliwia komunikację przez szereg portów.
Aby utworzyć dynamiczne przekierowanie portów (SOCKS), przekaż opcję
-D
klientowi ssh:
ssh -D LOCAL_PORT -N -f username@hostname
Aby uzyskać bardziej szczegółowe informacje i instrukcje krok po kroku, zapoznaj się z artykułem Jak skonfigurować tunelowanie SSH (przekierowanie portów).
Wniosek
Aby połączyć się ze zdalnym serwerem za pośrednictwem SSH, użyj polecenia
ssh
a następnie zdalnej nazwy użytkownika i nazwy hosta (
ssh username@hostname
).
Znajomość korzystania z polecenia
ssh
jest niezbędna do zarządzania zdalnym serwerem.
Przywróć polecenie "Uruchom" do menu startowego Vista
Microsoft uważa, że większość użytkowników nie musi uruchamiać programu Run. Jeśli nie jesteś jednym z nich, wykonaj te proste kroki, aby przywrócić tę funkcję.
Utwórz własne polecenie Uruchom w Windows 10/8/7
Ten post pokazuje 4 sposoby tworzenia lub tworzenia własne niestandardowe polecenia uruchamiania w systemie Windows 10/8/7. Otwórz pliki programów, a nawet foldery, korzystając z tej wskazówki.
Polecenie Net dla administratorów w Windows 10/8/7
Użytkownik sieci w Windows jest narzędziem wiersza poleceń do tworzenia i modyfikowania kont użytkowników komputery. Użyj go, aby zmienić hasło itp. Zobacz przykłady.







