Servers in stock
 Checking availability...
50% off 1st month on Instant Servers - code 50OFF +1-646-490-9655
Build your server
Ubuntu 16.04 • Samouczek uwierzytelniania kluczem SSH

Jak skonfigurować klucze SSH w systemie Ubuntu 16.04

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.

Przewodnik 4-etapowy Ubuntu 16.04 – całodobowa pomoc techniczna na żywo

Przewodnik krok po kroku

Wykonaj dokładnie każdy krok, aby skonfigurować uwierzytelnianie za pomocą klucza SSH na serwerze Ubuntu 16.04.

1

Utwórz parę kluczy RSA

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

2

Skopiuj klucz publiczny na serwer Ubuntu

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.

3

Uwierzytelnianie za pomocą kluczy SSH

Sprawdź, czy uwierzytelnianie za pomocą klucza działa, łącząc się ze swoim serwerem:

 $ ssh username@remote_host

Jeś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.

4

Wyłącz uwierzytelnianie hasłem (opcjonalnie)

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 no

Zapisz plik ( Ctrl+X , następnie Y , a następnie Enter ) i uruchom ponownie SSH:

 $ sudo systemctl restart ssh

Otwórz nowy terminal i sprawdź, czy nadal możesz nawiązać połączenie, zanim zamkniesz bieżącą sesję.

Często zadawane pytania

Często zadawane pytania dotyczące konfiguracji uwierzytelniania za pomocą klucza SSH w systemie Ubuntu.

Jaka jest różnica pomiędzy kluczem publicznym i kluczem prywatnym?

Klucz publiczny ( id_rsa.pub ) jest umieszczany na serwerach, do których chcesz uzyskać dostęp — można go bezpiecznie udostępniać. Klucz prywatny ( id_rsa ) pozostaje na Twoim komputerze lokalnym i nigdy nie wolno go udostępniać. Oba klucze działają razem, aby uwierzytelnić Cię bez hasła.

Czy powinienem ustawić hasło dla mojego klucza prywatnego?

Tak, zdecydowanie zalecamy użycie hasła. Dodaje ono dodatkową warstwę ochrony, dzięki czemu w przypadku kradzieży pliku z kluczem prywatnym, nie będzie można go użyć bez hasła. Użyj ssh-agent do buforowania hasła, aby nie trzeba było go wpisywać za każdym razem.

Co się stanie, jeśli zablokuję sobie dostęp, wyłączając uwierzytelnianie hasłem?

Jeśli wyłączysz uwierzytelnianie hasłem przed potwierdzeniem działania klucza, możesz utracić dostęp. Zawsze otwieraj nowy terminal i przetestuj logowanie kluczem SSH przed zamknięciem bieżącej sesji. Jeśli nie masz dostępu do konta, będziesz potrzebować dostępu do konsoli (np. przez panel internetowy dostawcy serwera), aby ponownie włączyć uwierzytelnianie hasłem.

Czy mogę użyć tego przewodnika w przypadku wersji Ubuntu innych niż 16.04?

Tak. Kroki i polecenia są takie same dla Ubuntu 18.04, 20.04, 22.04 i nowszych wersji. Jedyną różnicą może być nazwa usługi SSH — użyj sudo systemctl restart sshd jeśli ssh nie działa.

Potrzebujesz serwera do wdrożenia?

Nasze plany serwerów dedykowanych i VPS obejmują pełny dostęp do roota, dysk SSD i całodobowe wsparcie ekspertów, dzięki czemu możesz szybko rozpocząć pracę.