Secure Shell (SSH)

Secure Shell (SSH) to protokół sieciowy, który umożliwia bezpieczną komunikację między klientem SSH a serwerem SSH przez niezabezpieczoną sieć (np. Internet). Klasycznie Secure Shell oferuje dwa wysokopoziomowe mechanizmy uwierzytelniania – hasła i kryptografię klucza publicznego. Uwierzytelnianie za pomocą klucza publicznego jest ogólnie uważane za bezpieczniejsze, ponieważ pozwala uniknąć konieczności przechowywania haseł i eliminuje możliwość, że zhakowany serwer poda hasła użytkowników. Nowoczesną alternatywą jest korzystanie z połączeń SSH bez haseł, które wykorzystują uwierzytelnianie o wysokim stopniu pewności zamiast podatnych na ataki haseł lub niewygodnej infrastruktury PKI.

Podczas generowania par kluczy publiczny-prywatny można ustawić opcjonalne hasło do szyfrowania i ochrony dostępu do klucza prywatnego. Jeśli nie ustawiono hasła, użytkownicy/aplikacje uwierzytelniają się wyłącznie za pomocą swojego klucza prywatnego i bez użycia hasła – innymi słowy uwierzytelnianie bez hasła. A nawet jeśli ustawione jest hasło, jest ono używane tylko do odszyfrowania klucza prywatnego, a nie do uwierzytelniania użytkownika.

Aby skonfigurować logowanie SSH bez hasła w systemie Linux:

  • Wygeneruj parę kluczy publiczny-prywatny. Jeśli masz już klucze na swoim komputerze klienckim, możesz ich użyć zamiast tworzyć nowe lub generować nowe. Utworzenie nowych kluczy spowoduje nadpisanie istniejących kluczy. Aby wygenerować nową parę kluczy Secure Shell, wpisz następujące polecenie:
ssh-keygen -t rsa -b 4096 -C " email@domain.com "

Spowoduje to utworzenie pary kluczy RSA o długości 4096 bitów i oznaczenie kluczy wybranym adresem e-mail.
O ile nie określono inaczej, klucze będą przechowywane w domyślnej lokalizacji pliku z domyślną nazwą pliku:

/home/twoja_nazwa_użytkownika/.ssh/id_rsa
  • Polecenie ssh-keygen poprosi użytkownika o wybranie hasła zabezpieczającego. Wprowadź hasło (puste, jeśli nie ma hasła): hasła są opcjonalne. Jeśli nie zdecydujesz się na hasło, po prostu naciśnij „Enter” zamiast je ustawiać. Rezygnacja z dodawania hasła skutkuje uwierzytelnianiem Secure Shell bez hasła. Jest to szczególnie przydatne, gdy łączący się klient SSH jest używany przez nienadzorowany system/aplikację. Jest to również sposób na wdrożenie uwierzytelniania użytkowników bez hasła.
  • Aby sprawdzić, czy klucze Secure Shell zostały wygenerowane, możesz wyświetlić listę nowych kluczy prywatnych i publicznych za pomocą następującego polecenia:
ls ~/.ssh/id_* /home/twoja_nazwa_użytkownika/.ssh/id_rsa/home/nazwa_użytkownika/.ssh/id_rsa. pub

W tym momencie wszystko, co pozostaje do zrobienia, aby umożliwić logowanie do serwera bez hasła, to skopiowanie klucza publicznego na serwer, z którym chcesz się połączyć.

  • Skopiuj klucz publiczny na serwer, wpisując następujące polecenie (wymaga zainstalowania na hoście narzędzia ssh-copy-id ):
ssh-copy-id nazwa_użytkownika_zdalnego_serwera@adres_ip_serwera

Zostaniesz poproszony o podanie hasła nazwa_użytkownika_zdalnego_serwera.

remote_username@server_ip password:

Po uwierzytelnieniu użytkownika klucz publiczny zostanie dodany do pliku authorized_keys użytkownika zdalnego, a połączenie zostanie zamknięte.

Teraz, gdy skonfigurowano logowanie Secure Shell bez hasła, aby zapobiec logowaniu opartemu na hasłach, musisz wyłączyć uwierzytelnianie oparte na hasłach. Aby to zrobić, będziesz potrzebować uprawnień użytkownika sudo.

  • Zaloguj się do zdalnego serwera za pomocą kluczy SSH jako użytkownik z uprawnieniami sudo:
ssh sudo_user@server _ip_address

Otwórz plik konfiguracyjny SSH /etc/ssh/sshd_config i zmodyfikuj go w następujący sposób:

PasswordAuthentication no
ChallengeResponseAuthentication no
UsePAM no
PubkeyAuthentication yes

Aby zmiana zaczęła obowiązywać, zapisz plik i uruchom ponownie usługę Secure Shell.

Masz teraz konfigurację z logowaniem Secure Shell bez hasła do swojego serwera.

CO TO JEST SSH BEZ HASŁA?

Secure Shell bez hasła oznacza, że ​​klient SSH łączący się z serwerem SSH nie musi podawać hasła do konta w celu nawiązania połączenia. Zamiast tego klient używa asymetrycznej pary kluczy kryptograficznych (klucz prywatny na kliencie) do uwierzytelniania.

CZY UWIERZYTELNIANIE BEZ HASŁA JEST BEZPIECZNIEJSZE NIŻ HASŁA?

Hasła są uważane za podatne na ataki, ponieważ można je łatwo ukraść, a w wielu przypadkach również łatwo je złamać. Uwierzytelnianie bez hasła, jeśli jest prawidłowo zaimplementowane przy użyciu mocnej kryptografii lub innych środków, może zapewnić wyższy poziom bezpieczeństwa uwierzytelniania.

JAKIE SĄ ZALETY BEZHASŁOWEGO SSH?

Usunięcie słabych haseł z użytkowania zwiększa bezpieczeństwo w przypadku zastosowania bezhasłowego protokołu Secure Shell.

JAK DZIAŁA UWIERZYTELNIANIE BEZ HASŁA?

Uwierzytelnianie bez hasła to dowolny schemat uwierzytelniania, który nie wymaga, że użytkownik musi podać ciąg (hasło), który jest używany jako klucz tajny współdzielony przez dwie strony. Uwierzytelnianie bez hasła można zatem wdrożyć na wiele sposobów. Typowe sposoby jego wdrożenia obejmują kryptografię i biometrię.

CZY SSH BEZ HASŁA POLEGA NA TOKENACH?

Uwierzytelnianie SSH bez hasła jest zwykle oparte na kryptografii asymetrycznej (para kluczy prywatny i publiczny). Możesz użyć tokena uwierzytelniania do przechowywania klucza prywatnego.

0 0 votes
Ocena artykułu
Subscribe
Powiadom o
guest
0 komentarzy
Inline Feedbacks
View all comments
0
Zależy mi na Twojej opinii poniżej 😀x