Powrót do bloga

Jak używać SSH do połączenia z serwerem zdalnym w systemie Ubuntu

Jak używać SSH do połączenia z serwerem zdalnym w systemie Ubuntu

Co to jest SSH?

SSH oznacza Secure Shell. Dzięki SSH możesz uzyskiwać dostęp do zdalnych maszyn w bezpieczny sposób, ponieważ połączenie jest szyfrowane. Za pomocą polecenia ssh z terminala Linux możemy łączyć się ze zdalnymi serwerami Linux i pracować tak, jakby to był nasz własny komputer. Pod koniec tego samouczka powinieneś w pełni zrozumieć, jak używać SSH do łączenia się ze zdalnym serwerem w Ubuntu.

Składnia

Składnia to reguła określająca sposób użycia polecenia ssh. Możesz modyfikować układ składni, ale należy zachować bezpośredni format. Poniżej znajduje się przykład składni dla użycia polecenia ssh:

Nazwa domeny lub adres IP, z którym chcesz się połączyć, to remote_host, jak pokazano w powyższym poleceniu. Ta składnia zakłada, że Twoja nazwa użytkownika w systemie zdalnym i systemie lokalnym jest taka sama. Jeśli jednak nazwy użytkowników nie są takie same, możesz to określić za pomocą tego polecenia:

Musisz zweryfikować swoją tożsamość, podając hasło natychmiast po połączeniu się z serwerem. Wpisz polecenie exit, aby powrócić do sesji lokalnej.

Jak skonfigurować SSH

Główny plik konfiguracyjny sshd w systemie Ubuntu znajduje się w lokalizacji /etc/ssh/sshd_config. Jeśli zmienisz konfigurację SSH, ustawienia serwera SSHD zmienią się automatycznie. Przed przystąpieniem do jakiejkolwiek konfiguracji upewnij się, że utworzyłeś kopię zapasową aktualnej wersji pliku za pomocą tego polecenia:

Użyj edytora tekstu, aby go otworzyć:

Większość parametrów w tym pliku należy pozostawić bez zmian. Istnieje jednak kilka rzeczy, na które należy zwrócić uwagę:

Deklaracje portów wskazują port, na którym serwer SSHD oczekuje na połączenia. Domyślny to 22. O ile nie ma konkretnych powodów, nie musisz zmieniać tego ustawienia:

Deklaracja klucza hosta wskazuje, gdzie znajduje się globalny klucz hosta:

Te dwie pozycje wskazują poziom logowania, który powinien być stosowany. Jeśli masz problemy z korzystaniem z SSH, doskonałym sposobem na zidentyfikowanie problemu jest zwiększenie szczegółowości logów:

Opcje te definiują pewne informacje dotyczące logowania, aby zapobiec nieautoryzowanemu logowaniu, gdy pliki konfiguracyjne są niezabezpieczone:

Te konfiguracje parametrów są określane jako funkcje przekazywania X11. W ten sposób można wyświetlić interfejs graficzny (GUI) zdalnego systemu na systemie lokalnym. Musisz włączyć tę opcję na serwerze, łącząc się z klientem SSH za pomocą opcji -X.

Po wprowadzeniu zmian zapisz plik i zamknij go, naciskając CTRL-X i Y, a następnie naciśnij Enter. Jeśli zmienisz ustawienia w / etc / ssh / sshd_config, musisz zrestartować serwer sshd, aby zastosować zmiany:

W przypadku systemów z systemd, takich jak Ubuntu 16.04 lub Debian Jessie, użyj tego polecenia:

Dokładnie przetestuj wprowadzone zmiany, aby upewnić się, że wszystko działa idealnie. Prawdopodobnie powinieneś zachować kilka aktywnych sesji w przypadku wprowadzania jakichkolwiek zmian. W ten sposób w razie potrzeby będzie można przywrócić konfigurację.

Jak zalogować się do SSH za pomocą kluczy? Logowanie się do zdalnego systemu za pomocą hasła jest dobre. Najlepiej jednak skonfigurować uwierzytelnianie oparte na kluczach.

Co to jest uwierzytelnianie oparte na kluczach?

Uwierzytelnianie oparte na kluczach tworzy dwie pary kluczy zwane kluczem prywatnym i publicznym. Klucz prywatny znajduje się na komputerze użytkownika i jest chroniony oraz utrzymywany w tajemnicy. Klucz publiczny może być udostępniony każdemu lub przechowywany na dowolnym serwerze, do którego chcesz uzyskać dostęp. Jeśli próbujesz połączyć się za pomocą pary kluczy, serwer używa klucza publicznego do wygenerowania wiadomości dla komputera użytkownika. Użytkownik może odczytać tę wiadomość tylko za pomocą klucza prywatnego. Następnie komputer użytkownika wysyła odpowiedź z powrotem do serwera, a serwer wie, że użytkownik jest autentyczny. Po ustawieniu klucza cały proces kończy się automatycznie w tle.

Jak utworzyć klucze SSH

Klucze SSH powinny być generowane na komputerze, z którego chcesz się zalogować. Zazwyczaj jest to Twój lokalny komputer. Wprowadź następujące polecenie w wierszu poleceń:

Następnie zaakceptuj wartości domyślne, naciskając klawisz ENTER. Spowoduje to wygenerowanie kluczy w lokalizacjach ~/.ssh/id_rsa.pub i ~/.ssh/id_rsa. Następnie wpisz poniższe polecenie, aby przejść do katalogu .ssh:

Oto uprawnienia do tych plików:

list files in .ssh folder

Jak widać, tylko właściciel może odczytywać i zapisywać plik id_rsa. Dlatego należy go bezpiecznie przechowywać. Możesz jednak udostępnić plik id_rsa.pub i posiadać odpowiednie uprawnienia do tej czynności. Następnym krokiem jest przesłanie klucza publicznego na serwer przy użyciu następującej składni:

To rozpocznie sesję SSH i musisz użyć hasła do uwierzytelnienia. Po wprowadzeniu hasła Twój klucz publiczny zostanie skopiowany do pliku autoryzowanych kluczy serwera, dzięki czemu przy następnym logowaniu nie będziesz potrzebować hasła.

Jak wyłączyć uwierzytelnianie hasłem

Jeśli klucz SSH został wygenerowany, możesz poprawić bezpieczeństwo serwera, wyłączając uwierzytelnianie wyłącznie za pomocą hasła. Możesz zalogować się na serwer za pomocą klucza prywatnego z zainstalowanym kluczem publicznym na serwerze zamiast korzystać z konsoli.

Uwaga: Przed przejściem do tego kroku upewnij się, że zainstalowałeś klucz publiczny na serwerze. W przeciwnym razie zostaniesz zablokowany!

Otwórz plik konfiguracyjny sshd za pomocą tego polecenia:

Znajdź i odkomentuj linię dotyczącą sprawdzania uwierzytelniania hasłem, usuwając znak # na początku. Następnie możesz zmienić wartość na “no”:

Opcje PubkeyAuthentication i ChallengeResponseAuthentication są ustawione domyślnie i powinny wyglądać następująco:

Nie należy zmieniać tych dwóch ustawień. Następnie zapisz plik i zamknij go po wprowadzeniu zmian. Następnie użyj poniższego polecenia, aby zrestartować demona SSH:

Ostatecznie wyłączyłeś uwierzytelnianie hasłem i dostęp do Twojego serwera można uzyskać wyłącznie za pomocą uwierzytelniania kluczem SSH.

Podsumowanie

W tym samouczku pokazaliśmy, jak bezpiecznie używać SSH do łączenia się z odległym serwerem w systemie Ubuntu. Nauka korzystania z SSH jest kluczowa, jeśli jesteś administratorem systemu, więc po opanowaniu tego samouczka możesz przejść do bardziej zaawansowanych funkcji SSH.

Udanego korzystania z komputera!

 

author

Akshay Nagpal

Autor · CloudSigma

Preslav Dobrev jest projektantem kreatywnym w CloudSigma, skupiającym się na spójnej tożsamości biznesowej przy wykorzystaniu tradycyjnych i innowacyjnych kanałów marketingowych. Biegle łączy wizję artystyczną ze strategicznym marketingiem, tworząc wywierające wpływ narracje marki.

Komentarze

Brak komentarzy. Bądź pierwszy.