Wyszukiwanie w witrynie

Jak skonfigurować logowanie SSH bez hasła w systemie Linux


SSH (Secure SHELL) to zaufany protokół sieciowy typu open source, używany do logowania się na zdalnych serwerach w celu wykonywania poleceń i programów.

Służy także do przesyłania plików z jednego komputera na drugi przez sieć za pomocą polecenia bezpiecznej kopii (SCP) i polecenia rsync.

W tym artykule pokażemy, jak skonfigurować logowanie bez hasła w dystrybucjach Linuksa opartych na RHEL, takich jak CentOS, Fedora, Rocky Linux & AlmaLinux oraz dystrybucje oparte na Debianie, takie jak Ubuntu i Mint używające kluczy ssh do łączenia się ze zdalnym < serweryLinux bez podawania hasła.

Korzystanie z logowania bez hasła za pomocą kluczy SSH zwiększy zaufanie między dwoma serwerami Linux, co ułatwi synchronizację lub przesyłanie plików.

Moje środowisko konfiguracyjne
SSH Client : 192.168.0.12 ( Fedora 36 )
SSH Remote Host : 192.168.0.11 ( CentOS 8 )

Jeśli masz do czynienia z kilkoma zdalnymi serwerami Linux, logowanie SSH bez hasła jest jednym z najlepszych sposobów automatyzacji zadań takich jak automatyczne tworzenie kopii zapasowych za pomocą skryptów, synchronizacja plików za pomocą Polecenie SCP i zdalne wykonanie polecenia.

W tym przykładzie skonfigurujemy automatyczne logowanie SSH bez hasła z serwera 192.168.0.12 jako użytkownik tecmint na 192.168.0.11 z użytkownikiem sheena.

Krok 1: Utwórz klucze uwierzytelniające SSH-Keygen na – (192.168.0.12)

Najpierw zaloguj się na serwer 192.168.0.12 z użytkownikiem tecmint i wygeneruj parę kluczy publicznych za pomocą następującego polecenia.

ssh-keygen -t rsa

Generating public/private rsa key pair.
Enter file in which to save the key (/home/tecmint/.ssh/id_rsa): [Press enter key]
Created directory '/home/tecmint/.ssh'.
Enter passphrase (empty for no passphrase): [Press enter key]
Enter same passphrase again: [Press enter key]
Your identification has been saved in /home/tecmint/.ssh/id_rsa.
Your public key has been saved in /home/tecmint/.ssh/id_rsa.pub.
The key fingerprint is:
5f:ad:40:00:8a:d1:9b:99:b3:b0:f8:08:99:c3:ed:d3 [email 
The key's randomart image is:
+--[ RSA 2048]----+
|        ..oooE.++|
|         o. o.o  |
|          ..   . |
|         o  . . o|
|        S .  . + |
|       . .    . o|
|      . o o    ..|
|       + +       |
|        +.       |
+-----------------+

Krok 2: Prześlij klucz SSH na adres – 192.168.0.11

Użyj SSH z serwera 192.168.0.12 i prześlij nowo wygenerowany klucz publiczny (id_rsa.pub) na serwer 192.168.0.11 w sekcji katalog .ssh sheeny jako nazwa pliku authorized_keys.

ssh-copy-id [email 

Upewnij się, że ustawiono prawidłowe uprawnienia do katalogu ~/.ssh i pliku ~/.ssh/authorized_keys na serwerze zdalnym.

ssh [email  "chmod 700 ~/.ssh && chmod 600 ~/.ssh/authorized_keys"

Krok 3: Wyłącz uwierzytelnianie hasłem (opcjonalnie)

Aby zwiększyć bezpieczeństwo, możesz wyłączyć uwierzytelnianie hasłem na serwerze zdalnym i zezwolić wyłącznie na uwierzytelnianie za pomocą klucza SSH. W tym celu otwórz plik konfiguracyjny serwera SSH na serwerze zdalnym:

sudo nano /etc/ssh/sshd_config
OR
sudo vi /etc/ssh/sshd_config

Znajdź linię zawierającą PasswordAuthentication i ustaw ją na no.

PasswordAuthentication no

Zapisz plik i uruchom ponownie usługę SSH.

sudo systemctl restart sshd

Krok 4: Przetestuj logowanie SSH bez hasła z adresu 192.168.0.12

Od teraz możesz logować się do 192.168.0.11 jako użytkownik sheena z serwera 192.168.0.12 jako użytkownik Użytkownik tecmint bez hasła.

ssh [email 

W tym artykule dowiedziałeś się, jak skonfigurować logowanie SSH bez hasła przy użyciu klucza ssh. Oczekuję, że proces był prosty. Jeśli masz jakieś pytania, zadaj je w sekcji komentarzy poniżej.