Ciao fanatici di Linux, è sempre una buona pratica che i sistemi Linux debbano essere ssh con le chiavi anziché con la password. Le chiavi SSH (Secure Shell) ci offrono un modo sicuro per accedere a server simili a Linux e UNIX. Quando accediamo ai sistemi Linux con chiavi SSH, è anche noto come autenticazione ssh senza password.
In questo post impareremo come configurare l'autenticazione SSH senza password con le chiavi in Linux.
Dettagli sulla configurazione del laboratorio:
- Host di salto (Rocky Linux) — Client SSH — 192.168.1.135
- Sistema Linux remoto (Ubuntu 20.04) — 192.168.1.130
Immergiamoci nei passaggi,
Passaggio 1) Genera chiavi SSH sull'host Jump utilizzando il comando ssh-keygen
Accedi per saltare l'host, nel mio caso sto usando "sysadm". Esegui il comando ssh-keyen per generare chiavi pubbliche e private per sysadm utilizzando l'algoritmo rsa
$ ssh-keygen -t rsa
Questo comando ti chiederà di inserire il percorso delle chiavi pubbliche e private, se vuoi mantenere il percorso predefinito premi invio e premi anche invio quando ti viene chiesto di impostare la passphrase.
L'output del comando ssh-keygen sarebbe simile al seguente
Nota:per impostazione predefinita, il comando ssh-keygen genera chiavi di dimensioni 2048 bit. Se desideri modificare la dimensione delle chiavi, usa l'opzione '-b' seguita dalla dimensione in bit. L'esempio è mostrato di seguito,
$ ssh-keygen -t rsa -b 4096
Passaggio 2) Copia la chiave pubblica dell'utente sul sistema Linux remoto
Usa il comando 'ssh-copy-id' per copiare la chiave pubblica dell'utente nel file authorized_keys dell'utente del sistema Linux remoto.
Sintassi:ssh-copy-id
$ ssh-copy-id [email protected]
Uscita
Passaggio 3) Verifica l'autenticazione ssh senza password
Ora prova a eseguire lo ssh del sistema remoto dall'host di salto.
$ ssh [email protected]
Uscita,
Perfetto, l'output sopra conferma che possiamo accedere al sistema remoto senza specificare alcuna password.
Di seguito sono riportati i punti importanti da considerare durante la configurazione dell'autenticazione senza password.
- Una volta che le chiavi sono state scambiate e testate, dovremmo disabilitare l'accesso root e l'autenticazione basata su password per utenti root e altri.
Per ottenere ciò, modifica il file '/etc/ssh/sshd_config' e imposta i seguenti parametri.
PermitRootLogin no PubkeyAuthentication yes PasswordAuthentication no UsePAM yes
Salva ed esci dal file e riavvia il servizio ssh usando il comando systemctl sottostante.
$ sudo systemctl restart sshd
- Un altro punto importante è che l'utente remoto, nel nostro caso "kadmin", dovrebbe far parte del gruppo sudo e disporre dei diritti di amministratore in modo che possa eseguire attività amministrative.
Questo è tutto da questo post, spero che tu l'abbia trovato informativo, per favore lascia le tue domande e feedback nella sezione commenti qui sotto.
Leggi anche : 10 esempi di comandi iftop in Linux