Wymagania wstępne
SERW SSH nie jest domyślnie zainstalowany na Ubuntu. Musisz zainstalować pakiet OpenSSH, który będzie działał jako serwer SSH przed rozpoczęciem tego samouczka. Uruchom następujące polecenie, aby zainstalować serwer OpensSh, jeśli nie jest ono wcześniej instalowane w systemie.
$ sudo apt install openSsh-serverWygeneruj klucz SSH
Wygeneruj pary kluczy SSH, aby wykonać polecenia na zdalnym serwerze. Uruchom następujące polecenie, aby utworzyć klucz publiczny i klucz prywatny. Klucz prywatny będzie przechowywany na zdalnym serwerze, a klucze publiczne będą bezpiecznie przechowywane w kliencie.
$ ssh -keygen -t rsaPo wykonaniu powyższego polecenia zapyta nazwę pliku, gdzie będzie przechowywany klawisz. wciśnij Wchodzić klucz, aby zachować domyślną nazwę pliku klucza publicznego id_rsa.pub. Następnie poprosi hasło do zalogowania się. Ponownie naciśnij Wchodzić Klucz dwa razy, jeśli chcesz zachować puste hasło. Następujące podobne wyjście pojawią się po wygenerowaniu klawiszy.
Utwórz plik autoryzowanego_keys
id_rsa.Plik pubowy zawiera klucz publiczny połączenia SSH przechowywanego w ~/.ssh/ folder zdalnego hosta. Maszyna kliencka będzie również wymagać od klucza publicznego połączenia ze zdalnym hostem skopiowanym w następnej części samouczka. Musisz utworzyć plik o nazwie autoryzowany_keys w ~//.Folder SSH zdalnego hosta, który będzie zawierał klucz publiczny. Uruchom następujące polecenie, aby przesunąć id_rsa.plik pubowy do ~//.plik ssh/autoryzowany_keys.
$ mv ~/.ssh/id_rsa.pub ~/.ssh/autoryzowane_keysNie pojawi się błąd, jeśli plik zostanie poprawnie przesunięty, podobnie jak następujący obraz.
Zmodyfikuj plik konfiguracyjny
Musisz ustawić parametry konfiguracyjne na komputerze serwerowym, aby wykonać połączenie SSH bez hasła. Uruchom następujące polecenie, aby otworzyć plik sshd_config za pomocą nano edytora, aby ustawić niezbędne wartości parametrów.
$ sudo nano/etc/ssh/sshd_configUstaw wartość hasła Automatyka.
Hasło Automatyka nr
Zapisz i zamknij plik. Uruchom następujące polecenie, aby ponownie uruchomić usługę SSH.
$ sudo systemctl restart sshUruchom następujące polecenie, aby ustawić bity uprawnień dla pliku autoryzowanego_keys, aby zapobiec nieautoryzowanemu dostępowi do tego pliku.
$ chmod 600 ~/.ssh/autoryzowane_keysSkopiuj klucz publiczny w komputerze klienckim
Teraz zaloguj się do komputera klienta, z którego wykonasz polecenie SSH, aby nawiązać połączenie SSH ze zdalnym hostem. Tutaj użyto dwóch kont użytkowników Ubuntu do sprawdzenia połączenia SSH na serwerze lokalnym. Jedno konto użytkownika zostało użyte jako klient, a inne konto użytkownika było używane jako serwer w tym samouczku.
Uruchom następujące polecenie, aby utworzyć folder o nazwie ~/.ssh w komputerze klienckim, jeśli nie istnieje.
$ mkdir ~/.sshUruchom następujące polecenie, aby skopiować klucz publiczny z zdalnego hosta do ~/.Folder SSH klienta.
$ scp fahmida@fahmida-virtualbox:/home/fahmida/.ssh/id_rsa ~/.SSH/Musisz podać hasło nazwy użytkownika zdalnego hosta do skopiowania klucza publicznego do komputera klienta. Otrzymasz następujące dane wyjściowe, jeśli plik zostanie poprawnie skopiowany. Maszyna kliencka jest teraz gotowa do nawiązania połączenia z komputerem serwerowym za pomocą usługi SSH.
Zaloguj się do komputera serwerowego za pomocą SSH bez hasła
Teraz klucz publiczny istnieje zarówno w maszynach klienta, jak i serwerów. Gdy komputer klienta wysyła żądanie połączenia do komputera serwerowego za pomocą polecenia SSH, serwer będzie pasował do klucza publicznego klienta do klucza publicznego serwera. Jeśli zapałki zostaną znalezione, połączenie zostanie ustanowione z klienta do serwera. Możesz połączyć się z serwerem lub hostem zdalnym za pomocą nazwy hosta lub adresu IP. Lokalny serwer użył tego samouczka, aby pokazać użycie autoryzowanych_keys. Jedno konto zostało używane jako komputer serwerowy, w którym instalowany jest serwer OpenSSH, a inne konto zostało użyte jako komputer klienta tutaj. Uruchom następujące polecenie z komputera klienta, aby nawiązać połączenie z komputerem serwerowym.
$ ssh fahmida@fahmida-virtualboxPo wykonaniu powyższego polecenia pojawi się następujące dane wyjściowe. Dane wyjściowe pokazuje, że nazwa użytkownika komputera klienta jest „takmin.„Nazwa użytkownika komputera serwera to” Fahmida.„Połączenie SSH zostało ustanowione prawidłowo, ponieważ nazwa użytkownika zmieniła się na„ Fahmida ”z„ Takmin.„Teraz można łatwo uzyskać dostęp do zawartości komputera serwerowego. Jeśli użytkownik wykona teraz dowolne polecenie, dane wyjściowe zostanie wygenerowane na podstawie komputera serwerowego.
Wniosek
Korzystanie z autoryzowanych_keys. Możesz postępować zgodnie z tym samym procesem, aby wykonać połączenie SSH dla zdalnego hosta. Możesz także użyć polecenia SSH-Copy-ID, aby nawiązać połączenie SSH z serwerem pokazanym w innym samouczku.