Jak używać SSH za pomocą klucza prywatnego w Linux

Jak używać SSH za pomocą klucza prywatnego w Linux

SSH to bezpieczny sposób łączenia się ze zdalnym serwerem. W przypadku SSH komputer kliencka musi zostać weryfikowany, zanim połączy się z serwerem, a to odbywa się przy użyciu hasła i klucza uwierzytelniania, które mogą być publiczne lub prywatne.

Klawisze uwierzytelniania zapewniają bezpieczne połączenie z serwerem za pomocą OpenSSH dla Linux. Niniejszy przewodnik opisuje, jak korzystać z prywatnego klucza SSH do uwierzytelnienia. Omówimy wszystko, od generowania klucza SSH po używanie go podczas łączenia się z serwerem.

Generowanie prywatnego klucza SSH

Aby wygenerować prywatne klucze, musimy uruchomić ssh-keygen Polecenie, które poprowadzi Cię w generowaniu klucza prywatnego i zaangażowanych szczegółów, takich jak nazwa pliku i hasła. Gdy klucz prywatny jest generowany, najlepiej jest go bezpiecznie przechowywać.

Utwórzmy ukryty folder na serwerze, który przechowuje wygenerowany klawisz po wygenerowaniu go na komputerze klienckim i skopiowaniu na serwerze. Możemy wymienić ukryty folder jako ssh.

$ mkdir -p ~//.ssh

Zauważ, że tworzymy ukryty folder na serwerze, a nie na kliencie. Następnie zmień uprawnienia do katalogu, aby tylko właściciel mógł z nim wchodzić w interakcje. W ten sposób zabezpieczasz swój klucz prywatny.

$ sudo chmod 700 ~/.ssh

Dzięki utworzonej folderu bezpiecznego w katalogu domowym możesz wygenerować prywatny klucz SSH na komputerze klienckim. Upewnij się, że masz zainstalowany OpenSsh. Następnie wykonaj następujące polecenie, aby utworzyć nową parę klucza:

$ ssh -keygen -t rsa

Zostaniesz poproszony o podanie różnych szczegółów, w tym nazwę klucza prywatnego i lokalizacji, w której chcesz go zapisać. Możesz użyć opcji domyślnych, naciskając klawisz Enter. Możesz opcjonalnie dodać hasło, aby ulepszyć uwierzytelnianie.

Skopiuj wygenerowany klucz prywatny SSH na zdalnym serwerze

Wygenerowany klucz prywatny musi zostać skopiowany do klienta, tak że podczas łączenia się za pośrednictwem SSH połączenie jest ustanowione poprzez sprawdzenie klucza prywatnego w celu uwierzytelnienia klienta. Użyj następującej składni i wymień szczegóły, aby pasować do nazwy użytkownika serwera i jego adresu IP. Ponadto, jeśli zmieniłeś nazwę klucza prywatnego, wymień go i jego ścieżkę.

$ ssh-copy-id -i ~/.ssh/id_rsa.Pub Username@Server-IP

Zauważ, że określamy ścieżkę, którą utworzyliśmy wcześniej dla naszego ukrytego folderu, ponieważ właśnie tam chcemy przechowywać klucz prywatny. id_rsa.pub reprezentuje domyślne nazewnictwo prywatnych kluczy SSH.

Naciskać Tak kontynuować połączenie SSH. Następnie wprowadź hasło dla serwera, z którym się łączysz.

Otrzymasz wiadomość, która potwierdza, że ​​klucz prywatny jest skopiowany na serwer docelowy i że możesz teraz ssh do zdalnego komputera, aby sprawdzić, czy Twój prywatny klucz SSH jest pomyślnie dodany.

Jak korzystać z SSH za pomocą klucza prywatnego

Jak dotąd wygenerowaliśmy klucz prywatny SSH i skopiowaliśmy go na zdalny serwer. Teraz zalogujmy się SSH na zdalnym serwerze, aby sprawdzić, czy możemy użyć SSH za pomocą klucza prywatnego.

$ SSH Nazwa użytkownika@server-ip

Jeśli klucz prywatny jest pomyślnie skopiowany, powinniśmy być w stanie zalogować się na zdalnym serwerze bez żadnej dalszej weryfikacji, jak przy następnym wyjściu:

Udało nam się zalogować SSH za pomocą klucza prywatnego w Linux.

Wniosek

SSH to bezpieczna opcja logowania na zdalnym serwerze. Korzystając z SSH, możesz generować prywatne klucze i skopiować plik na zdalny serwer, tak że jeśli chcesz SSH, możesz uwierzytelnić sesję za pomocą klawiszy prywatnych. W tym przewodniku wyszczególniono wszystko na temat korzystania z kluczy prywatnych SSH, od generowania klucza prywatnego, po kopiowanie ich do serwera docelowego, po logowanie za pomocą klucza prywatnego.