Podstawy #01 Logowanie SSH bez hasła – jak używać kluczy
Spisu treści:
Secure Shell (SSH) to kryptograficzny protokół sieciowy używany do bezpiecznego połączenia między klientem a serwerem i obsługuje różne mechanizmy uwierzytelniania. Dwa najpopularniejsze mechanizmy to uwierzytelnianie oparte na hasłach i uwierzytelnianie oparte na kluczu publicznym.
W tym samouczku pokażemy, jak skonfigurować uwierzytelnianie oparte na kluczu SSH, a także jak połączyć się z serwerem Linux bez wprowadzania hasła.
Skonfiguruj SSH Logowanie bez hasła
Aby skonfigurować logowanie SSH bez hasła w systemie Linux, wystarczy wygenerować publiczny klucz uwierzytelniający i dołączyć go do pliku
~/.ssh/authorized_keys
zdalnych hostów.
Poniższe kroki opisują proces konfiguracji logowania SSH bez hasła:
-
Sprawdź istniejącą parę kluczy SSH.
Przed wygenerowaniem nowej pary kluczy SSH najpierw sprawdź, czy masz już klucz SSH na komputerze klienckim, ponieważ nie chcesz zastępować istniejących kluczy.
Uruchom następującą komendę ls, aby sprawdzić, czy istnieją istniejące klucze SSH:
ls -al ~/.ssh/id_*.pubJeśli istnieją klucze, możesz ich użyć i pominąć następny krok lub wykonać kopię zapasową starych kluczy i wygenerować nowy.
Wygeneruj nową parę kluczy SSH.
Poniższe polecenie wygeneruje nową parę kluczy SSH 4096 bitów z Twoim adresem e-mail jako komentarz:
ssh-keygen -t rsa -b 4096 -C "[email protected]"Naciśnij
Enteraby zaakceptować domyślną lokalizację i nazwę pliku:Enter file in which to save the key (/home/yourusername/.ssh/id_rsa):Następnie narzędzie
ssh-keygenpoprosi cię o wpisanie bezpiecznego hasła. Niezależnie od tego, czy chcesz użyć hasła, zależy od Ciebie, jeśli zdecydujesz się na użycie hasła, otrzymasz dodatkową warstwę bezpieczeństwa. W większości przypadków programiści i administratorzy systemu używają protokołu SSH bez hasła, ponieważ są przydatne w procesach w pełni zautomatyzowanych. Jeśli nie chcesz używać hasła, po prostu naciśnijEnterEnter passphrase (empty for no passphrase):Cała interakcja wygląda następująco:

Aby mieć pewność, że klucze SSH są generowane, możesz wymienić swoje nowe klucze prywatne i publiczne za pomocą:
ls ~/.ssh/id_*/home/yourusername/.ssh/id_rsa /home/yourusername/.ssh/id_rsa.pubSkopiuj klucz publiczny
Po wygenerowaniu pary kluczy SSH, aby móc zalogować się na serwerze bez hasła, musisz skopiować klucz publiczny na serwer, którym chcesz zarządzać.
Najprostszym sposobem skopiowania klucza publicznego na serwer jest użycie polecenia o nazwie
ssh-copy-id. Na lokalnym terminalu maszynowym wpisz:ssh-copy-id remote_username@server_ip_addressZostaniesz poproszony o podanie hasła
remote_username:remote_username@server_ip_address's password:Po uwierzytelnieniu użytkownika klucz publiczny zostanie dołączony do pliku użytkownika
authorized_keys, a połączenie zostanie zamknięte.Jeśli z jakiegoś powodu narzędzie
ssh-copy-idnie jest dostępne na twoim komputerze lokalnym, możesz użyć następującego polecenia, aby skopiować klucz publiczny:cat ~/.ssh/id_rsa.pub | ssh remote_username@server_ip_address "mkdir -p ~/.ssh && chmod 700 ~/.ssh && cat >> ~/.ssh/authorized_keys && chmod 600 ~/.ssh/authorized_keys"Zaloguj się do swojego serwera za pomocą kluczy SSH
Po wykonaniu powyższych kroków powinieneś być w stanie zalogować się na zdalnym serwerze bez pytania o hasło.
Aby to przetestować, po prostu spróbuj zalogować się na serwerze za pośrednictwem SSH:
ssh remote_username@server_ip_addressJeśli wszystko pójdzie dobrze, natychmiast się zalogujesz.
Wyłączanie uwierzytelniania hasła SSH
Aby dodać dodatkową warstwę bezpieczeństwa do serwera, możesz wyłączyć uwierzytelnianie hasła dla SSH.
Przed wyłączeniem uwierzytelniania hasła SSH upewnij się, że możesz zalogować się na serwerze bez hasła, a użytkownik, z którego się logujesz, ma uprawnienia sudo.
Poniższe samouczki opisują sposób konfigurowania dostępu sudo:
-
Zaloguj się do zdalnego serwera za pomocą kluczy SSH, jako użytkownik z uprawnieniami sudo lub root:
ssh sudo_user@server_ip_addressOtwórz plik konfiguracyjny SSH
/ etc / ssh / sshd_config/etc/ssh/sshd_config, wyszukaj następujące dyrektywy i zmodyfikuj w następujący sposób:PasswordAuthentication no ChallengeResponseAuthentication no UsePAM noPo zakończeniu zapisz plik i uruchom ponownie usługę SSH.
Na serwerach Ubuntu lub Debian uruchom następujące polecenie:
sudo systemctl restart sshNa serwerach CentOS lub Fedora uruchom następujące polecenie:
sudo systemctl restart sshd
Wniosek
W tym samouczku nauczyłeś się konfigurować uwierzytelnianie oparte na kluczu SSH, co pozwala na logowanie się do zdalnego serwera bez podawania hasła użytkownika. Możesz dodać ten sam klucz do wielu zdalnych serwów.
Pokazaliśmy również, jak wyłączyć uwierzytelnianie za pomocą hasła SSH i dodać dodatkową warstwę bezpieczeństwa do serwera.
bezpieczeństwo sshLogowanie przez Gmaila: Bezpieczne logowanie do Gmaila i wskazówki dotyczące rejestracji
Przydatny Gmail Zaloguj się, podpisz, jak się zarejestrować lub zalogować się do Gmaila, rozwiązać problemy i dostęp do wielu kont Gmail. Postępuj zgodnie z tymi wskazówkami bezpieczeństwa, aby go zabezpieczyć.
Logowanie do Outlooka: Bezpieczne logowanie się do Outlook.com
Użyteczne Outlook.com lub Hotmail Zaloguj się Wskazówki jak podpisywać w górę lub zaloguj się na konto e-mail programu Outlook, rozwiązuj problemy i zachowuj je bezpiecznie i bezpiecznie.
Logowanie przy użyciu hasła i hasła do zdjęć nie jest oferowane w systemie Windows 10
Zobacz ten artykuł, jeśli logowanie przy użyciu hasła PIN i zdjęcia nie jest dostępne lub wyłączone Windows 10/8. Zdecydowanie zaleca się włączenie opcji logowania alternatywnego.








