Najpopularniejszym sposobem na logowanie do konsoli w systemie Linux jest usługa SSH. Aby podnieść bezpieczeństwo logowania i uniknąć przejęcia przez osoby niepowołane naszych poświadczeń, warto użyć identyfikacji za pomocą pary kluczy.
Jest to jedna z najbezpieczniejszych metod, a polega ona na wygenerowaniu pary kluczy: prywatnego (używanego do logowania) oraz publicznego (przechowywanego na serwerze).
Aby włączyć taką metodę identyfikacji należy:
- Utworzyć parę kluczy
ssh-keygen
W procesie będziemy musieli podać hasło do zabezpieczenia klucza, folder do którego ma być zapisany plik.
Po poprawnym zakończeniu operacji, powinno to wyglądać w ten sposób
Teraz, aby klucze mogły być używane, należy wykonać komendę która doda nasz klucz publiczny do zaufanych
ssh-copy-id -i (ścieżka do naszego zapisanego klucza .pub) (nazwa_użytkownika@host)
Gdy to już jest zrobione, musimy przenieść nasz klucz prywatny na maszynę z której będziemy łączyć się z naszym serwerem.
Jeżeli korzystamy do połączenia z terminalem programu PuTTY, musimy najpierw na podstawie klucza prywatnego wygenerować klucz w formacie .ppk. Aby to zrobić trzeba uruchomić program który dostarczany jest wraz z instalacją PuTTY – PuTTYGen. Po jego otwarciu wybieramy opcję załadowania istniejącego klucza prywatnego
Następnie wyszukujemy nasz klucz który pobraliśmy z serwera a po jego załadowaniu wybieramy opcję zapisania klucza prywatnego
Po jego zapisaniu, wchodzimy do programu PuTTY, tam w ustawieniach autoryzacji wskazujemy nasz klucz prywatny z rozszerzeniem .ppk
Teraz wpisujemy adres naszego serwera i łączymy się, a następnie wpisujemy nazwę użytkownika dla którego wygenerowaliśmy klucz, a później hasło którym zabezpieczyliśmy klucz
Możemy także zwiększyć bezpieczeństwo i całkowicie wyłączyć logowanie za pomocą hasła a jedynie używać kluczy. Aby to zrobić musimy edytować plik /etc/ssh/sshd_config tak aby zmienić poniższe wartości na:
ChallengeResponseAuthentication no
PasswordAuthentication no
UsePAM no
Po zapisaniu zmian w pliku musimy przeładować proces ssh
sudo systemctl ssh reload
Od tej pory możemy zalogować się na serwer jedynie posiadając klucze dostępu.