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-iddo skopiowania klucza publicznego:$ ssh-copy-id użytkownik@adres_serwera- Zastąp
użytkowniknazwą użytkownika na serwerze zdalnym. - Zastąp
adres_serweraadresem IP lub nazwą domeny serwera zdalnego.
ssh-copy-idautomatycznie skopiuje klucz publiczny do pliku~/.ssh/authorized_keysna 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
.sshi plikuauthorized_keysna serwerze zdalnym (odpowiednio 700 i 600).
To wszystko! Twoje połączenie SSH powinno teraz działać bez potrzeby podawania hasła.
Leave a Reply