Logowanie SSH z użyciem klucza

Jeśli chcesz mieć możliwość logowania do swojego serwera z wykorzystaniem SSH bez konieczności podawania hasła umieść swój klucz publiczny na serwerze.

Jeśli posiadasz już klucz publiczny, przejdź do sekcji „Dodanie klucza publicznego na serwerze docelowym”.

Generowanie pary kluczy na serwerze/urządzeniu źródłowym

Aby wygenerować parę kluczy na komputerze/serwerze, z którego chcesz się logować bez podawania hasła na SSH wykonaj poniższe kroki:

1. Zaloguj się na SSH do serwera, z którego będzie następowało logowanie: https://cyberfolks.pl/pomoc/jak-zalogowac-sie-na-ssh/
2. Utwórz katalog .ssh w katalogu użytkownika (jeśli taki już nie istnieje):
mkdir ~/.ssh
przejdź do tego katalogu
cd ~/.ssh
i wygeneruj parę kluczy poleceniem:
ssh-keygen -t rsa

3. W katalogu znajdziesz teraz dwa pliki zawierające klucz prywatny i publiczny z rozszerzeniem .pub.


Opcja 1 – Dodanie klucza publicznego na serwerze docelowym – z poziomu konsoli

Zawartość pliku, w którym jest klucz publiczny (plik z rozszerzeniem .pub) należy skopiować na docelowy serwer, na który zamierzamy się logować bez podawania hasła – w tym celu:

1. Zaloguj się na serwer docelowy i utwórz katalog .ssh (jeśli taki katalog nie jest jeszcze utworzony)
mkdir ~/.ssh
2. Następnie zmień uprawnienia do tego katalogu na 700
chmod 700 ~/.ssh
3. Przejdź do katalogu .ssh:
cd ~/.ssh
utwórz plik „authorized_keys”
touch authorized_keys
i nadaj uprawnienia do pliku 600.
chmod 600 authorized_keys

4. Klucz publiczny na serwer docelowy możesz skopiować ręcznie, możesz też użyć polecenia:
ssh-copy-id -i ~/.ssh/id_rsa.pub LOGIN_SERWERA@SERWER -p 222

UWAGA! Polecenie należy wykonać na komputerze/urządzeniu, z którego kopiowany będzie klucz publiczny na serwer

Przykładowe polecenie i jego wynik:


Gotowe!
Na tym etapie powinienieś mieć możliwość logowania do serwera bez użycia hasła.
Jeśli nadal wymagane jest hasło do zalogowania:

  • sprawdź uprawnienia dla katalogu .ssh (powinny być 700) i dla pliku authorized_keys (powinny być 600)
  • sprawdź plik authorized_keys – powinien on zawierać wpisy „ssh-rsa klucz nazwa_urzadzenia/serwera” w jednej linii – przykładowo:

Opcja 2 – Dodanie klucza publicznego na serwerze docelowym – z poziomu panelu hostingu

Klucz SSH możesz wgrać również z poziomu panelu direct_Admin:

1. W sekcji „Pozostałe ustawienia” wybierz opcję „Klucze SSH”

2. W opcji „Wklej istniejący klucz SSH” wklej zawartość pliku id_rsa.pub (pamiętaj, aby zawartość pliku wklejona była w jednej linii) i kliknij „Utwórz”


Gotowe! Klucz SSH został dodany.


logowanie-ssh-z-uzyciem-klucza
>
Magdalena Pietraszek