Aby zalogować się na serwer zdalny za pomocą SSH bez użycia hasła, musisz użyć pary kluczy SSH (klucz publiczny i prywatny). Poniżej opisałem poszczególne kroki aby to zrobić:
1. Generowanie pary kluczy SSH na komputerze lokalnym
Jeśli jeszcze nie masz klucza SSH, możesz go wygenerować za pomocą polecenia ssh-keygen
. Oto jak to zrobić:
- Otwórz terminal na swoim komputerze lokalnym.
- Wygeneruj klucz SSH:
$
ssh-keygen -t rsa -b 4096 -C "twó[email protected]"
- Podaj nazwę pliku do zapisu kluczy: Zostaniesz poproszony o podanie lokalizacji do zapisania klucza (domyślnie:
~/.ssh/id_rsa
). Możesz nacisnąć Enter, aby zaakceptować domyślną lokalizację. - Ustaw hasło zabezpieczające dla klucza (opcjonalnie): Możesz podać hasło, aby dodatkowo zabezpieczyć klucz prywatny, lub pozostawić puste, jeśli nie chcesz hasła.
2. Skopiowanie klucza publicznego na serwer zdalny
Następnie musisz przesłać klucz publiczny na serwer zdalny:
- Użyj
ssh-copy-id
do skopiowania klucza publicznego:$ ssh-copy-id użytkownik@adres_serwera
- Zastąp
użytkownik
nazwą użytkownika na serwerze zdalnym. - Zastąp
adres_serwera
adresem IP lub nazwą domeny serwera zdalnego.
ssh-copy-id
automatycznie skopiuje klucz publiczny do pliku~/.ssh/authorized_keys
na serwerze zdalnym. Zostaniesz poproszony o podanie hasła do konta użytkownika na serwerze zdalnym. - Zastąp
3. Testowanie połączenia SSH
Po wykonaniu powyższych kroków powinieneś być w stanie zalogować się na serwer zdalny bez konieczności podawania hasła:
$ ssh użytkownik@adres_serwera
Jeśli wszystko jest poprawnie skonfigurowane, zostaniesz zalogowany bez prośby o podanie hasła.
Uwaga
- Upewnij się, że masz odpowiednie uprawnienia do katalogu
.ssh
i plikuauthorized_keys
na serwerze zdalnym (odpowiednio 700 i 600).
To wszystko! Twoje połączenie SSH powinno teraz działać bez potrzeby podawania hasła.
Leave a Reply