Baza wiedzy Proste instrukcje dotyczące pracy z usługą Profitserver
Główny Baza wiedzy Jak połączyć się z serwerem Linux przez SSH

Jak połączyć się z serwerem Linux przez SSH


Podstawowym sposobem połączenia z serwerem Linux jest protokół SSH . Ten typ połączenia jest bezpieczny, ponieważ wszystkie przesyłane przez niego dane są szyfrowane. Aby nawiązać połączenie SSH, należy je skonfigurować na serwerze zdalnym, z którym chcemy się połączyć, a na kliencie po stronie użytkownika. Dostępnych jest mnóstwo oprogramowania do połączeń SSH. W przypadku systemu Linux najpopularniejszy jest pakiet OpenSSH, a w przypadku systemu Windows użytkownicy najczęściej korzystają z PuTTY.

Przyjrzyjmy się bliżej konfiguracji serwera na przykładzie Ubuntu Server 18.04, a następnie spróbujmy połączyć się z serwerem z poziomu systemu Linux i Windows.

Wszystko, co zrobimy, będzie wykonywane z konta zwykłego użytkownika. W tym przypadku utworzyliśmy użytkownika „ mihail ”, a konto „ root ” jest domyślnie wyłączone.

Konfiguracja po stronie serwera

Skonfiguruj pakiet, uruchamiając to polecenie:

sudo apt install openssh-server
Instalowanie środowiska SSH na serwerze Linux

Po zakończeniu instalacji upewnij się, że usługa jest uruchomiona. Użyj tego polecenia:

systemctl status sshd
Sprawdzanie dostępności usługi SSH

Status „ Aktywny (działający) ” oznacza, że ​​usługa jest włączona i działa normalnie.

Aby uniknąć blokowania połączeń przychodzących przez zaporę sieciową, należy ją wyłączyć. W tym artykule nie będziemy bowiem konfigurować zapory sieciowej.

Użyj tego polecenia:

sudo ufw disable
Wyłączanie blokady połączeń przychodzących w Zaporze systemu Windows

Na tym etapie możesz już połączyć się z serwerem. Przy domyślnych ustawieniach serwer umożliwia połączenie ze standardowym portem 22 z uwierzytelnianiem opartym na haśle.

Połączenie SSH z Linuksa

Z reguły klient OpenSSH jest instalowany domyślnie na Linuksie i nie wymaga dodatkowej ręcznej konfiguracji. Połączenie można nawiązać z terminala za pomocą polecenia ssh. Parametrami w tym przypadku byłyby nazwa użytkownika i adres IP zdalnego serwera. Na naszym serwerze testowym, którego używamy jako przykładu, jest tylko jedno konto „mihail”, więc użyjemy tego.

ssh [email protected]

Przy pierwszym połączeniu będziesz musiał potwierdzić dodanie klucza publicznego serwera do bazy danych, więc odpowiedz „ tak ”. Następnie możesz wpisać hasło. Po pomyślnym nawiązaniu połączenia zobaczysz tekst powitalny w wierszu poleceń serwera. Teraz wszystkie polecenia zostaną wykonane bezpośrednio na serwerze zdalnym.

Połączenie SSH z Linuksa

SSH z systemu Windows

Otwórz Putty i ustaw parametry połączenia. Upewnij się, że przełącznik „ Typ połączenia ” jest ustawiony na SSH . Wpisz adres IP w polu „ Nazwa hosta ”, wartość domyślną 22 w polu „ Port ” i kliknij „ Otwórz ”.

Połączenie SSH z systemu Windows

Przy pierwszym połączeniu Putty poprosi Cię o potwierdzenie, że ufasz temu serwerowi, więc kliknij „ Tak

Pierwsze połączenie SSH z Windows

Po wpisaniu loginu i hasła zobaczysz wiersz poleceń zdalnego serwera.

Pomyślne połączenie SSH

Uwierzytelnianie za pomocą klucza. Zwiększanie poziomu bezpieczeństwa

Gdy klient próbuje nawiązać bezpieczne połączenie z serwerem przez SSH, przed zezwoleniem na połączenie serwer wymaga uwierzytelnienia (weryfikacji) klienta. Jak wspomniano wcześniej, uwierzytelnianie oparte na haśle jest zwykle używane domyślnie. Nie zapewnia ono solidnego bezpieczeństwa, ponieważ zawsze istnieje sposób na jego brutalne wymuszenie. Poza tym uwierzytelnianie za pomocą hasła nie ma zastosowania do połączeń SSH z użyciem skryptów.

Do tego typu zadań istnieje specjalna metoda uwierzytelniania za pomocą klucza. Chodzi o to, że klient generuje klucze prywatne i publiczne, a następnie klucz publiczny jest wysyłany do serwera. Po tym nie potrzebujesz hasła, aby połączyć się z serwerem, ponieważ uwierzytelnianie jest przeprowadzane na podstawie kluczy publicznych i prywatnych klienta. Aby zapewnić dobry poziom bezpieczeństwa, dostęp do klucza prywatnego powinien być ograniczony. Ze względu na fakt, że klucz prywatny jest przechowywany po stronie klienta i nie jest przesyłany przez sieć, ta metoda jest uważana za bezpieczniejszą.

Uwierzytelnianie za pomocą klucza w systemie Linux

Wygenerujmy klucze publiczne i prywatne na kliencie za pomocą oprogramowania narzędziowego ssh-keygen. Narzędzie zasugeruje zmianę ścieżki do klucza prywatnego i wprowadzi hasło dla dodatkowego bezpieczeństwa. Pozostaw wszystkie parametry domyślnie, naciskając Enter przy wszystkich żądaniach.

Uwierzytelnianie za pomocą klucza w systemie Linux w celu zapewnienia bezpiecznego połączenia

W rezultacie w katalogu domowym w folderze .ssh znajdziesz wygenerowane dwa pliki: id_rsa i id_rsa.pub , zawierające odpowiednio klucze prywatny i publiczny.

Następnie należy przesłać klucz publiczny na serwer. W tym celu należy skopiować zawartość pliku „ id_rsa.pub ” do pliku „ ~/.ssh/authorized_keys ” na serwerze. Skorzystajmy z najprostszej metody, korzystając z narzędzia „ ssh-copy-id ”. Wprowadź login i adres IP serwera, tak jak w przypadku standardowego połączenia. Po wpisaniu hasła klucz publiczny klienta zostanie automatycznie skopiowany na serwer. Uruchom to polecenie:

ssh-copy-id [email protected]
Autoryzacja SSH z kluczami prywatnymi

Po wykonaniu wszystkich tych czynności serwer nie będzie już wymagał podawania hasła.

Uwierzytelnianie za pomocą klucza w systemie Windows

Otwórz PUTTYGEN i kliknij „ Generuj ”. Aby wygenerować klucze, wystarczy przesunąć myszką po ekranie, a narzędzie wygeneruje klucze losowo.

Po wygenerowaniu kluczy kliknij „ Zapisz klucz prywatny ” i zapisz go w pliku z kluczem prywatnym na dysku. Możesz ustawić dowolną ścieżkę, ale chwilę później będziesz musiał ją określić w programie Putty. Następnie skopiuj klucz publiczny z górnej części okna.

Generowanie klucza prywatnego dla połączenia SSH dla systemu Windows

Wyślijmy klucz publiczny, po prostu kopiując go do terminala. Otwórz Putty i połącz się z serwerem jak zwykle. Teraz utwórzmy plik „ .ssh/authorized_keys ” i ograniczmy dostęp innych użytkowników do pliku, tak aby był on dostępny tylko dla twórcy.

mkdir .ssh
touch .ssh/authorized_keys
chmod 700 .ssh
chmod 600 .ssh/authorized_keys

Po utworzeniu pliku umieść w nim klucz publiczny klienta. Na poprzednim etapie skopiowaliśmy klucz publiczny do schowka. Aby zapisać zawartość schowka w pliku, użyj polecenia cat i przekierowania wyjścia.

cat > .ssh/authorized_keys

Po wpisaniu polecenia kliknij prawym przyciskiem myszy w oknie terminala i wklej zawartość schowka. Aby potwierdzić wprowadzone dane, naciśnij skrót „ Ctrl+D ” i rozłącz się z serwerem.

Wysyłanie klucza na serwer

Teraz podajmy ścieżkę do klucza prywatnego w Putty i ponownie połączmy się z serwerem.

Pierwsze połączenie SSH z kluczem prywatnym

Od teraz, aby połączyć się z serwerem, wystarczy wpisać nazwę użytkownika. Jeśli próbujesz połączyć się z serwerem z innego urządzenia, które nie ma odpowiedniego klucza prywatnego, serwer poprosi o hasło. Po skonfigurowaniu uwierzytelniania opartego na kluczu możesz zabronić dostępu za pomocą hasła.

Połączenie z kluczem prywatnym zakończone
❮ Poprzedni artykuł Jak wyłączyć rozszerzoną konfigurację zabezpieczeń w IE

Zapytaj nas o VPS

Jesteśmy zawsze gotowi odpowiedzieć na Państwa pytania o każdej porze dnia i nocy.