GNU/Linux >> Linux Esercitazione >  >> Ubuntu

Come generare chiavi SSH su Ubuntu 18.04

Introduzione

Stabilire una connessione SSH (Secure Shell) è essenziale per accedere e gestire efficacemente un server remoto. Le chiavi crittografate sono un insieme di credenziali di accesso utilizzate per stabilire una connessione sicura.

Questa guida ti mostrerà come generare chiavi SSH su Ubuntu 18.04. Tratteremo anche la configurazione dell'autenticazione basata su chiave SSH per la connessione a un server remoto senza richiedere una password.

Prerequisiti

  • Un server che esegue Ubuntu 18.04, abilitato SSH su Ubuntu
  • Un account utente con sudo privilegi
  • Accesso a una finestra di terminale/riga di comando (Ctrl-Alt-T)

Creazione di chiavi SSH su Ubuntu

Fase 1:genera la coppia di chiavi SSH

Sul tuo cliente sistema – quello che stai usando per connetterti al server – devi creare una coppia di codici chiave.

Per generare una coppia di codici chiave SSH , inserisci i comandi:

mkdir –p $HOME/.ssh
chmod 0700 $HOME/.ssh
ssh-keygen

Questo creerà una directory nascosta per memorizzare le tue chiavi SSH e modificare le autorizzazioni per quella directory. Il ssh-keygen il comando crea una coppia di chiavi RSA a 2048 bit.

Per una maggiore sicurezza, usa RSA4096:

ssh –keygen –t rsa 4096

Se hai già generato una coppia di chiavi, verrà richiesto di sovrascriverle e quelle vecchie chiavi non funzioneranno più.

Il sistema ti chiederà di creare una passphrase come ulteriore livello di sicurezza. Inserisci una passphrase memorabile e premi Invio .

Passaggio 2:copia la chiave pubblica sul server Ubuntu

Innanzitutto, ottieni l'indirizzo IP del server Ubuntu a cui desideri connetterti.

In una finestra di terminale, inserisci:

ip a

L'indirizzo IP del sistema è elencato nella seconda voce:

Sul cliente sistema, utilizza ssh-copy-id comando per copiare le informazioni sull'identità sul server Ubuntu :

ssh-copy-id [email protected]<server_IP>

Sostituisci IP_server con l'indirizzo IP effettivo del tuo server.

Se è la prima volta che ti connetti al server, potresti visualizzare un messaggio che ti informa che l'autenticità dell'host non può essere stabilita:

The authenticity of host '192.168.0.15 (192.168.0.15)' can't be established.

ECDSA key fingerprint is fd:fd:d4:f9:77:fe:73:84:e1:55:00:ad:d6:6d:22:fe.

Are you sure you want to continue connecting (yes/no)?

Digita e premi Invio .

Il sistema controllerà il tuo cliente sistema per id_rsa.pub chiave generata in precedenza. Quindi ti verrà chiesto di inserire la password per il server account utente. Digitalo (il sistema non visualizzerà la password) e premi Invio .

Il sistema copierà i contenuti di ~/.ssh/id_rsa.pub dal cliente sistema nel ~/.ssh/authorized_keys directory del server sistema.

Il sistema dovrebbe visualizzare:

Number of key(s) added: 1

Metodo alternativo per copiare manualmente la chiave SSH

Se il tuo sistema non dispone di ssh-copy-id comando, puoi copiare la chiave manualmente su SSH.

Usa il seguente comando:

cat ~/.ssh/id_rsa.pub | ssh [email protected]_host "mkdir -p ~/.ssh && touch ~/.ssh/authorized_keys && chmod -R go= ~/.ssh && cat >> ~/.ssh/authorized_keys"

Fase 3- Accedi al server remoto

Per accedere a un server remoto, inserisci il comando:

ssh [email protected]_IP

Il sistema non dovrebbe richiedere una password poiché sta negoziando una connessione sicura utilizzando le chiavi SSH. Se hai utilizzato una passphrase di sicurezza, ti verrà chiesto di inserirla. Dopo averlo fatto, sei loggato.

Passaggio 4:Disattiva l'autenticazione della password

Questo passaggio crea un ulteriore livello di sicurezza. Se sei l'unica persona che accede al server, puoi disabilitare la password. Il server accetterà solo un accesso con la tua chiave privata che corrisponda alla chiave pubblica memorizzata.

Modifica sshd_config file:

sudo nano /etc/ssh/sshd_config

Cerca nel file e trova la Autenticazione password opzione.

Modifica il file e cambia il valore in no :

...

PasswordAuthentication no

...

Salva il file ed esci, quindi riavvia il servizio SSH:

sudo systemctl restart ssh

Verifica che SSH funzioni ancora prima di terminare la sessione:

ssh [email protected]_IP

Se tutto funziona, puoi chiudere e riprendere il lavoro normalmente.


Ubuntu
  1. Come abilitare il servizio SSH in Ubuntu 22.04 LTS

  2. Come abilitare il server SSH su Ubuntu 22.04 Jammy Linux

  3. Come configurare le chiavi SSH su Ubuntu 16.04

  4. Come configurare le chiavi SSH su Ubuntu 18.04

  5. Come configurare le chiavi autorizzate SSH su Ubuntu

Come gestire in remoto il server Ubuntu con SSH

Come installare il server SSH in Ubuntu 20.04

Come abilitare il server SSH su Ubuntu 22.04

Come installare il server SSH su Ubuntu 18.04 LTS

Come installare il server SSH su Ubuntu 20.04 LTS

Come installare il server SSH su Ubuntu 22.04 LTS