GNU/Linux >> Linux Esercitazione >  >> AlmaLinux

Come configurare l'accesso senza password SSH in AlmaLinux

Secure Shell , popolarmente noto come SSH , è un protocollo di rete sicuro che consente agli utenti di connettersi in modo sicuro a host remoti come i server. Si basa su un'architettura client-server e utilizza due metodi di autenticazione principali:password e tasto ssh autenticazione della coppia.

La chiave SSH l'autenticazione di coppia utilizza l'uso di chiavi SSH che sono chiavi crittografiche utilizzate per autenticare e proteggere la comunicazione tra il client e il server. L'autenticazione della coppia di chiavi SSH è preferita all'autenticazione della password in quanto fornisce un'autenticazione più sicura e non soggetta ad attacchi di forza bruta.

In questo tutorial, illustriamo come impostare le chiavi SSH su AlmaLinux .

Creazione di una coppia di chiavi RSA SSH in AlmaLinux

Per iniziare lo spettacolo, creeremo una RSA coppia di chiavi che comprende una chiave pubblica e una privata. Demistificare queste chiavi più avanti nella guida. Per creare la coppia di chiavi, esegui il comando:

$ ssh-keygen
OR
$ ssh-keygen -t rsa 

I comandi precedenti creano un 2048 -bit coppia di chiavi RSA considerata abbastanza buona da offrire una crittografia decente per proteggere la comunicazione. Tuttavia, puoi creare un 4096 -coppia di chiavi bit che è più robusta e offre una migliore crittografia.

Per fare ciò, passa semplicemente il -b bandiera. Questo è esattamente ciò che faremo.

$ ssh-keygen -b 4096

Subito dopo aver premuto INVIO , ti verrà chiesto di fornire il percorso in cui verranno archiviate le chiavi. Per impostazione predefinita, questo è il ~/.ssh directory. A meno che non sia necessario cambiarlo in un percorso diverso, vai alla directory predefinita premendo INVIO .

Successivamente, ti verrà richiesto di fornire una passphrase o una password. Sebbene sia opzionale, questo aggiunge un ulteriore livello di protezione durante l'autenticazione.

Tuttavia, questo è limitante quando si desidera configurare l'autenticazione con chiave ssh senza password su un host remoto. Se questo è il tuo obiettivo, premi semplicemente "INVIO ' per saltare la frase chiave.

Ecco l'intero output del comando.

A questo punto, le tue chiavi dovrebbero essere archiviate nel ~/.ssh directory che è una directory nascosta nella tua directory home. Giusto per confermarlo, esegui il comando:

$ ls -la ~/.ssh

Alcuni punti da notare:

  • L'id_rsa è la chiave privata. Come suggerisce il nome, questo dovrebbe essere mantenuto estremamente riservato e non dovrebbe mai essere divulgato o condiviso. Un utente malintenzionato può facilmente compromettere il tuo host remoto una volta che si impossessa della chiave privata.
  • Il id_rsa.pub è la chiave pubblica, che può essere condivisa senza alcun problema. Puoi salvarlo su qualsiasi host remoto a cui desideri connetterti.

Copia la chiave pubblica SSH su un server Linux remoto

Il passaggio successivo consiste nel copiare o trasferire la chiave pubblica sul server o sull'host remoto. Puoi farlo manualmente, ma il ssh-copy-id comando ti consente di farlo facilmente.

L'ssh-copy-id il comando accetta la seguente sintassi:

$ ssh-copy-id user@remote-host-ip-address

Nella nostra configurazione, abbiamo un host remoto con IP 172.105.135.246 e un utente remoto configurato chiamato jack .

Per copiare la chiave SSH pubblica, eseguiremo il comando:

$ ssh-copy-id [email protected]

Se questa è la prima volta che ti connetti all'host, otterrai l'output mostrato di seguito. Per procedere con l'autenticazione, digita 'sì' e premi INVIO per procedere.

Dopo aver fornito la password e aver premuto "INVIO ' la chiave pubblica viene inserita nel file_autorizzato nel file ~/.ssh directory sull'host remoto.

Sul tuo sistema locale, i host_noti il file viene creato in ~/.ssh directory. Il file contiene le impronte digitali SSH per gli host remoti a cui ti sei connesso.

$ ls -la ~/.ssh

Puoi visualizzarlo come segue.

$ cat ~/.ssh/known_hosts

Accesso senza password SSH a Linux remoto

Con la chiave pubblica ora salvata sull'host remoto, ora possiamo accedere all'host remoto senza l'autenticazione della password SSH. Per verificarlo, proveremo ad accedere normalmente all'host remoto.

$ ssh [email protected]

Dall'output, puoi vedere che siamo subito passati alla shell del sistema remoto. Ciò conferma che abbiamo configurato correttamente SSH Autenticazione senza password.

Ora conferma che la chiave pubblica è salvata in authorized_keys file sull'host remoto.

$ ls -la ~/.ssh/

Per visualizzare il file, usa il comando cat come segue.

$ cat ~/.ssh/authorized_keys 

Disabilita l'autenticazione tramite password SSH

Non abbiamo ancora finito, l'autenticazione della password è ancora abilitata e questo può potenzialmente sottoporre il server o l'host remoto ad attacchi di forza bruta.

Per eliminare questo vettore di attacco, si consiglia vivamente di disabilitare l'autenticazione della password. Ciò garantisce che l'accesso sia possibile solo tramite una coppia di chiavi SSH. Per ottenere ciò, apri sshd_config file che è il file di configurazione SSH principale.

$ sudo vim /etc/ssh/sshd_config

Individua PasswordAuthentication direttiva. Se è stato commentato, decommentalo e impostalo su "no" .

PasswordAuthentication no

Salva le modifiche ed esci dal file.

Quindi riavvia SSH per applicare la modifica apportata.

$ sudo systemctl restart sshd

Ciò disabilita correttamente l'autenticazione della password e solo gli utenti con la chiave SSH privata possono accedere.

A questo punto, l'autenticazione della password SSH è stata disabilitata sul server remoto e l'unico modo possibile per accedere al server remoto è tramite chiave pubblica autenticazione.

Siamo riusciti a configurare le chiavi SSH su Almalinux e sono persino andati avanti per configurare l'autenticazione SSH senza password utilizzando la coppia di chiavi SSH. Abbiamo ulteriormente disabilitato l'autenticazione della password per evitare attacchi di forza bruta.


AlmaLinux
  1. Come configurare l'accesso SSH senza password

  2. Come configurare l'accesso SSH senza password in Linux

  3. Come configurare le chiavi SSH per l'accesso ssh "senza password" in Linux

  4. Come funziona SSH senza password in Linux / UNIX

  5. Come impostare le chiavi SSH per l'accesso SSH "chiave pubblica/privata" su Linux

Come configurare l'autenticazione SSH senza password su Linux

Come configurare l'accesso SSH senza password utilizzando ssh-keygen?

Come configurare l'accesso senza password SSH in Rocky Linux

Configura l'accesso SSH senza password per più server remoti utilizzando lo script

Come impostare l'autenticazione basata su chiave Ssh per Github utilizzando il file ~/.ssh/config?

Accesso SSH senza password in 3 semplici passaggi