Jak skonfigurować autoryzowane_keys SSH na Ubuntu

Jak skonfigurować autoryzowane_keys SSH na Ubuntu
SSH lub Secure Shell jest zaprojektowany w celu uzyskania dostępu do zawartości zdalnego hosta do zdalnego wykonywania różnych rodzajów zadań. SSH domyślnie nie jest zainstalowany na Ubuntu. SSH może zapewnić zaszyfrowany hasło dostęp do systemu zdalnego po instalacji. Serwer SSH działa na zdalnym hoście, a klient SSH działa w systemie, który ustanowi połączenie zdalne. autoryzowane_keys Plik jest najważniejszą częścią połączenia SSH. Określa klawisze używane do uwierzytelniania użytkowników dozwolonych do logowania się do zdalnego hosta za pomocą uwierzytelniania klucza publicznego. Zastosowania tego pliku dla połączenia SSH wyjaśniono w tym samouczku.

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-server

Wygeneruj 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 rsa

Po 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_keys

Nie 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_config

Ustaw 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 ssh

Uruchom następujące polecenie, aby ustawić bity uprawnień dla pliku autoryzowanego_keys, aby zapobiec nieautoryzowanemu dostępowi do tego pliku.

$ chmod 600 ~/.ssh/autoryzowane_keys

Skopiuj 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 ~/.ssh

Uruchom 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-virtualbox

Po 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.