Postępuj zgodnie z tym przewodnikiem krok po kroku, aby skonfigurować uwierzytelnianie oparte na kluczu SSH na serwerze Ubuntu. Zaloguj się bezpiecznie bez hasła i opcjonalnie całkowicie wyłącz uwierzytelnianie hasłem.
Wykonaj dokładnie każdy krok, aby skonfigurować uwierzytelnianie za pomocą klucza SSH na serwerze Ubuntu 16.04.
Uruchom poniższe polecenie na komputerze lokalnym, aby wygenerować parę kluczy RSA o długości 2048 bitów (użyj -b 4096 , aby uzyskać silniejszy klucz 4096-bitowy):
$ ssh-keygen Gdy pojawi się monit o podanie ścieżki do pliku, naciśnij Enter , aby zaakceptować domyślną ścieżkę ( ~/.ssh/id_rsa ). Opcjonalnie ustaw hasło, aby zapewnić dodatkową warstwę bezpieczeństwa.
Tworzone są dwa pliki: ~/.ssh/id_rsa (klucz prywatny — należy go zachować w tajemnicy) i ~/.ssh/id_rsa.pub (klucz publiczny — należy go umieścić na serwerze).
Metoda 1 — ssh-copy-id (zalecana):
$ ssh-copy-id username@remote_host Wprowadź hasło, gdy pojawi się monit. Klucz publiczny zostanie dodany do ~/.ssh/authorized_keys na serwerze.
Metoda 2 — poprzez kanał SSH:
cat ~/.ssh/id_rsa.pub | ssh username@remote_host "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys" Metoda 3 — ręczna: Wyświetl swój klucz publiczny poleceniem cat ~/.ssh/id_rsa.pub , a następnie dołącz jego dane wyjściowe do ~/.ssh/authorized_keys na serwerze zdalnym.
Sprawdź, czy uwierzytelnianie za pomocą klucza działa, łącząc się ze swoim serwerem:
$ ssh username@remote_hostJeśli ustawiłeś hasło w kroku 1, zostaniesz poproszony o jego podanie. Jeśli tego nie zrobiłeś, zalogujesz się natychmiast, bez pytania o hasło.
Po potwierdzeniu, że logowanie za pomocą klucza działa, możesz wyłączyć uwierzytelnianie hasłem, aby zabezpieczyć serwer przed atakami siłowymi. Otwórz konfigurację demona SSH:
sudo nano /etc/ssh/sshd_config Znajdź PasswordAuthentication , w razie potrzeby usuń komentarz z wiersza i ustaw go na no :
PasswordAuthentication noZapisz plik ( Ctrl+X , następnie Y , a następnie Enter ) i uruchom ponownie SSH:
$ sudo systemctl restart sshOtwórz nowy terminal i sprawdź, czy nadal możesz nawiązać połączenie, zanim zamkniesz bieżącą sesję.
Często zadawane pytania dotyczące konfiguracji uwierzytelniania za pomocą klucza SSH w systemie Ubuntu.