Przejdź do głównej zawartości

Jeden post z tagiem "ssh"

Wyświetl wszystkie tagi

Połączenie z serwerem przez SSH - Krok po kroku!

· 6 min aby przeczytać
Customer Care Engineer

SSH (Secure Shell) to szyfrowany protokół sieciowy umożliwiający zdalną kontrolę systemu operacyjnego i transfer plików. Jest to główna metoda pracy z serwerem za pomocą wiersza poleceń. Na serwerach kodu.cloud jest on dostępny domyślnie. Ten artykuł pokaże Ci, jak połączyć się z serwerem przez SSH na systemach Windows, Linux i MacOS, a także przez autoryzację za pomocą kluczy SSH.

connect via ssh

Połączenie SSH w systemie Windows

Począwszy od systemu Windows 11, wiersz poleceń systemu Windows może współpracować z wbudowanym klientem OpenSSH. Wcześniej SSH w systemie Windows działał za pośrednictwem programu innej firmy, jednym z popularnych klientów był PuTTY. Poniżej omówimy połączenie poprzez wbudowanego klienta Windows 11, a następnie krótko opiszemy połączenie poprzez PuTTY. Podczas łączenia możesz zalogować się za pomocą loginu i hasła lub skonfigurować autoryzację za pomocą klucza SSH. Zacznijmy od pierwszej metody, a w drugiej połowie artykułu dowiemy się, jak korzystać z klucza SSH.

Połączenie SSH w Windows 11 z loginem i hasłem

Z reguły OpenSSH jest preinstalowany w systemie Windows 11 Professional Edition. W systemie Windows 11 Home Edition musisz zainstalować klienta OpenSSH. Do pracy z SSH będziemy używać konsoli PowerShell.

Otwórz PowerShella. Aby to zrobić, naciśnij klawisz WIN (klawisz flagi Windows) i zacznij wpisywać „PowerShell” lub znajdź go na liście programów w menu Start. Spróbuj wpisać polecenie ssh. Jeśli w konsoli pojawi się monit usage: ssh [-46AaCfGgKkMNnqsTtVvXxYy] [-B bind_interface]..., wszystko jest w porządku. Jeśli konsola nie rozpoznaje polecenia ssh, sprawdź, czy OpenSSH jest zainstalowany za pomocą polecenia w PowerShell.

Sprawdzanie i instalowanie OpenSSH

Otwórz konsolę PowerShell, wybierając opcję Uruchom jako administrator. Wprowadź następujące polecenie:

Get-WindowsCapability -Online | ? Name -like 'OpenSSH.Client*

W naszym przypadku zainstalowany jest OpenSSH.

SSH incruction 1

Jeśli polecenie da wynik, oznacza to, że OpenSSH jest instalowany. Jeśli nie, zainstaluj go za pomocą następującego polecenia:

Add-WindowsCapability -Online -Name OpenSSH.Client*

Lub poprzez ustawienia systemu Windows 11 (Ustawienia – Aplikacje – Funkcje – Klient OpenSSH), ale ta metoda może nie działać w systemie Windows 11 Home Edition.

Łączenie z serwerem

Wymagania dotyczące autoryzacji na serwerze: adres IP serwera, nazwa użytkownika, hasło. Po aktywacji usługi otrzymałeś wiadomość e-mail zawierającą dane uwierzytelniające użytkownika root. Zapisz je. W razie potrzeby hasło roota można zresetować za pośrednictwem systemu rozliczeniowego.

W konsoli PowerShell wprowadź polecenie ssh z nazwą użytkownika i adresem IP serwera.

Gdzie root to nazwa użytkownika, a x.xx.xxx.xxx to adres IP serwera. Adres IP znajdziesz w systemie rozliczeniowym wybierając serwer w sekcji Moje usługi. Jeśli to konieczne, określ port połączenia za pomocą opcji -p:

[email protected]'s password:

Wprowadź hasło, które otrzymałeś, klikając łącze w wiadomości e-mail „Poświadczenia dostępu”. To kończy proces łączenia. Możesz teraz wprowadzić inne polecenia, które zostaną wykonane na zdalnym serwerze.

❗Uwaga: Podczas wpisywania hasła ze względów bezpieczeństwa w polu wprowadzania nie będą wyświetlane żadne znaki, a kursor nie będzie się przesuwał. To normalne.

Jeśli zapomniałeś hasła roota, możesz je zresetować wybierając swój serwer w sekcji Moje usługi systemu rozliczeniowego, przechodząc do zakładki Zarządzanie i wybierając polecenie Resetuj hasło roota.

Łączenie przez PuTTY

Jeśli używasz wcześniejszej wersji systemu Windows, dostęp SSH jest zapewniany za pośrednictwem programów innych firm, takich jak PuTTY. Pobierz i zainstaluj program za darmo. Gdy otworzysz PuTTY po raz pierwszy, zobaczysz okno ustawień. W kolumnie Nazwa hosta (lub adres IP) wprowadź adres IP serwera. Adres IP można sprawdzić w systemie rozliczeniowym wybierając serwer w sekcji Moje usługi. Domyślny port połączenia to 22, w razie potrzeby zmień tę wartość. Upewnij się, że typ połączenia to SSH. Kliknij przycisk Otwórz.

SSH incruction 2

Kiedy łączysz się po raz pierwszy, PuTTY Security Alert poprosi Cię o wybranie, czy zapamiętać serwer i dodać informacje o nim do pamięci podręcznej (Akceptuj), czy też połączyć się raz bez „pamiętania” serwera (Połącz raz).

SSH incruction 3

Jeśli wybierzesz opcję Akceptuj lub Połącz raz, pojawi się okno terminala umożliwiające wprowadzenie nazwy użytkownika i hasła w celu zalogowania się do serwera. Podczas wprowadzania hasła nie będą wyświetlane żadne znaki, jest to normalne i ma na celu bezpieczeństwo. Jeżeli podczas wprowadzania danych wystąpi błąd, pojawi się komunikat Access denied. Jeśli połączenie się powiedzie, pojawi się wiersz poleceń serwera, na przykład root@qwerty123:~#.

SSH incruction 4

To kończy proces łączenia. Możesz wprowadzić inne polecenia, które zostaną wykonane na zdalnym serwerze.

Połączenie przez SSH w systemie Linux i MacOS z loginem i hasłem

Klient SSH jest preinstalowany na wszystkich systemach Linux i MacOS. Można z niego korzystać z terminala. W systemie Linux terminal można otworzyć z menu głównego lub naciskając Ctrl+Alt+T. W systemie MacOS do łączenia się przez SSH najczęściej używane jest narzędzie Terminal dostarczane z systemem operacyjnym. W terminalu wprowadź polecenie ssh z nazwą użytkownika i adresem IP serwera.

gdzie root to nazwa użytkownika, a x.xx.xxx.xxx to adres IP serwera. Adres IP można sprawdzić w systemie rozliczeniowym wybierając serwer w sekcji Moje usługi. Jeśli to konieczne, określ port połączenia za pomocą opcji -p:

Następnie pojawi się prośba o hasło:

Wprowadź hasło, które otrzymałeś, klikając łącze w wiadomości e-mail „Access Details”. To kończy proces łączenia. Możesz wprowadzić inne polecenia, które zostaną wykonane na zdalnym serwerze.

Autoryzacja za pomocą klucza SSH

Autoryzacja za pomocą klucza SSH to szybki, wygodny i bezpieczniejszy sposób autoryzacji. Aby to skonfigurować, musisz najpierw wygenerować klucz SSH.

Tworzenie klucza SSH w systemie Windows 11

Otwórz PowerShell w trybie administratora (Uruchom jako administrator w menu Start). Wpisz polecenie ssh-keygen i zobacz wynik:

Generating public/private rsa key pair.
Enter file in which to save the key (C:\Users\user/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in C:\Users\user/.ssh/id_rsa.
Your public key has been saved in C:\Users\user/.ssh/id_rsa.pub.

Podczas tworzenia klucza konsola poprosi Cię o zgodę na zapisanie klucza w domyślnym pliku (.ssh/id_rs) lub podanie nowego adresu i podanie passphrase.

Passphrase ❗To dodatkowy element zabezpieczający klucz SSH. Jeśli zignorujesz wprowadzanie tajnego słowa i po prostu naciśniesz Enter, nie będziesz musiał wpisywać żadnego hasła podczas późniejszego logowania. Serwer automatycznie sprawdzi część klucza przechowywaną na Twoim komputerze. Jeśli jednak ktoś uzyska dostęp do Twojego komputera, będzie mógł z łatwością połączyć się z Twoimi serwerami. Aby tego uniknąć, wprowadź passphrase.

Generowanie klucza SSH za pomocą PuTTYgen

W wersjach systemu Windows do 10 wygodnie jest użyć PuTTYgen, narzędzia instalowanego domyślnie z PuTTY, aby utworzyć klucz. Otwórz PuTTYgen. Kliknij przycisk Generuj. Przesuń kursor po oknie, gdy PuTTYgen o to poprosi. Klucz zostanie wygenerowany.

SSH incruction 5

Zapisz wygenerowany klucz, klikając przyciski Zapisz klucz publiczny i Zapisz klucz prywatny. Skopiuj klucz publiczny wyświetlony w oknie programu do schowka (Ctrl+C).

Tworzenie klucza SSH w systemie Linux i MacOS

Na konsolach Linux i MacOS użyj narzędzia ssh-keygen, aby wygenerować klucz SSH.

$ ssh-keygen 
Generating public/private rsa key pair.
Enter file in which to save the key (/home/user/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/user/.ssh/id_rsa
Your public key has been saved in /home/user/.ssh/id_rsa.pub

Podczas tworzenia klucza konsola poprosi Cię o zgodę na zapisanie klucza w domyślnym pliku (.ssh/id_rsa) lub podanie nowego adresu, a także podanie hasła. O znaczeniu używania passphrase przeczytasz wcześniej w tym artykule.

Umieszczenie publicznej części klucza SSH na serwerze i połączenie bez hasła

Podczas autoryzacji za pomocą klucza SSH publiczna część klucza znajdująca się na serwerze jest porównywana z prywatną częścią klucza na Twoim komputerze.

Po zalogowaniu się do serwera poprzez SSH akcje w konsoli wykonywane na zdalnym serwerze nie będą się różnić dla systemów Windows, Linux i MacOS.

Po połączeniu się ze zdalnym serwerem przy użyciu nazwy użytkownika i hasła wprowadź następujące polecenia. Utworzą katalog i plik do przechowywania klucza i ustawią do nich prawa dostępu

mkdir ~/.ssh
chmod 0700 ~/.ssh
touch ~/.ssh/authorized_keys
chmod 0600 ~/.ssh/authorized_keys

Następnie umieść publiczną część utworzonego wcześniej klucza SSH w pliku authorized_keys. W tym celu skopiuj zawartość pliku id_rsa.pub (jeżeli klucz został utworzony w PuTTYgen, możesz skopiować klucz bezpośrednio z okna programu). Otwórz plik authorized_keys w edytorze konsoli, na przykład nano.

nano ~/.ssh/authorized_keys

Wklej zawartość schowka do pliku (Ctrl+V) i zamknij edytor skrótem klawiaturowym Ctrl+X i naciśnięciem Y w celu zapisania zmian. W systemach Linux i MacOS zamiast tych działań można użyć polecenia, które automatycznie przesyła publiczną część klucza na zdalny serwer:

ssh-copy-id [email protected]

gdzie root to nazwa użytkownika, a x.xx.xxx.xxx to adres IP serwera, na który należy wysłać klucz.

Klucz publiczny został pomyślnie przesłany na serwer zdalny. Teraz, łącząc się z serwerem za pomocą polecenia ssh [email protected], nie musisz wpisywać hasła, chyba że zostało ono utworzone podczas generowania klucza SSH.

Jeśli łączysz się ze zdalnym serwerem za pomocą PuTTY, aby autoryzować się przy użyciu klucza, wpisz ścieżkę do pliku zawierającego prywatną część klucza w Connection - SSH - Auth settings w kolumnie Private key file for authentication.

SSH incruction 6

Dodanie kluczy SSH do systemu bilingowego

Wygodnym sposobem autoryzacji na serwerach kodu.cloud jest dodanie kluczy SSH w systemie bilingowym. Przejdź do sekcji My Account - SSH Keys. Tam możesz pobrać publiczną część kluczy SSH, która zostanie automatycznie dodana do Twoich serwerów w celu wygodnej i bezpiecznej autoryzacji. Klucze będą dostępne tylko przy zamawianiu nowych serwerów i po ponownej instalacji systemu operacyjnego lub uruchomieniu trybu odzyskiwania na serwerach, z których już korzystasz.

Możesz rozpocząć ponowną instalację systemu operacyjnego na swoich serwerach w systemie rozliczeniowym, wybierając serwer w sekcji My Services, przechodząc do zakładki Management i wybierając opcję Reinstall OS system operacyjny. Na tym etapie będziesz mógł wybrać klucz SSH spośród kluczy załadowanych wcześniej do systemu rozliczeniowego w celu dalszej autoryzacji na serwerze.

Zamów VPS kodu.cloud i spróbuj skonfigurować autoryzację przy użyciu klucza SSH, a nasz zespół wsparcia chętnie pomoże i odpowie na wszelkie pytania.