GNU/Linux >> Linux Esercitazione >  >> Debian

Come generare e configurare chiavi SSH su Debian 10

Introduzione

SSH sta per Secure Shell e funziona come metodo per stabilire connessioni remote tra computer. SSH viene solitamente utilizzato per accedere e gestire un server remoto.

Questa guida ti aiuterà a generare una coppia di chiavi SSH su Debian 10 Linux.

Prerequisiti

  • Un sistema che esegue Debian 10 Linux
  • SSH configurato sia sul client che sul sistema remoto. (Scopri come abilitare SSH su Debian.)
  • Accesso a una finestra del terminale/riga di comando (Attività> Ricerca> Terminale )
  • Un account utente con sudo o root privilegi per il sistema locale
  • Un account utente e un nome host per il server remoto

Fase 1:verifica la presenza di chiavi esistenti

Se il sistema si è già connesso al server remoto tramite SSH, potrebbe già avere chiavi SSH. Verifica la presenza di chiavi preesistenti immettendo il seguente comando in una finestra del terminale:

ls -l ~/.ssh/id*

Se il sistema risponde che non esiste un file o una directory di questo tipo, il sistema non ha chiavi SSH.

Se il sistema elenca un file, ha una coppia di chiavi SSH. Per continuare a utilizzare questa coppia di chiavi, vai al Passaggio 3 . In alternativa, esegui il backup di questa coppia di chiavi, quindi procedi alla generazione di una nuova coppia di chiavi SSH.

Fase 2:crea una coppia di chiavi SSH

Questo passaggio crea una chiave SSH pubblica e privata.

1. Nel terminale, immettere il seguente comando:

ssh-keygen

2. Per impostazione predefinita, viene creata una RSA a 2048 bit coppia di chiavi. Per una maggiore sicurezza, una RSA a 4096 bit la coppia di chiavi può essere aggiunta usando il -b 4096 opzione come segue:

ssh-keygen -b 4096

Il sistema elabora la richiesta e quindi richiede la posizione per salvare la coppia di chiavi. Per impostazione predefinita, utilizza ~/.ssh/id_rsa . Questo è il /.ssh directory nella directory home.

3. Premi Invio per accettare questa posizione a meno che non sia necessario utilizzare una posizione diversa.

4. Se esiste già una chiave su questo sistema, verrà ora richiesto di sovrascrivere la vecchia chiave. Premi y per continuare.

5. Successivamente, il sistema richiede di immettere e confermare una passphrase. Questo è un ulteriore livello di sicurezza ssh, costringendo gli utenti a inserire la passphrase durante la connessione tramite SSH. Imposta e conferma una passphrase oppure lasciala vuota per saltare questo passaggio.

6. Infine, il sistema visualizza l'identificazione e la posizione della chiave pubblica, l'impronta digitale della chiave e l'immagine randomart della chiave.

Fase 3:copia la chiave pubblica sul server remoto

Copia la chiave pubblica sul server remoto per accoppiare correttamente le chiavi SSH:

1. Il metodo più semplice è inserire il seguente comando:

ssh-copy-id [email protected]

Sostituisci utente con il nome utente effettivo per il sistema remoto. Inoltre, sostituisci nome host con il nome host effettivo del computer remoto. L'indirizzo IP del sistema remoto può essere utilizzato al posto del nome host.

2. Il sistema ora tenta di connettersi al sistema remoto utilizzando il nome utente fornito. Alla prima connessione, il sistema potrebbe rispondere che non è possibile stabilire l'autenticità dell'host. Digita yes e premi Invio .

3. Il sistema esegue la scansione del sistema locale per id_rsa.pub chiave generata nel passaggio 2 . Quindi verrà richiesta la password per l'account utente sul sistema remoto. Inserisci la password e premi Invio .

4. Il sistema dovrebbe visualizzare il numero di chiavi aggiunte:1 . Quindi visualizza le istruzioni per l'accesso al sistema remoto. Puoi inserire il comando come visualizzato sullo schermo.

Passaggio 3.1:copia manuale della chiave pubblica SSH sul server remoto

Se non è possibile copiare automaticamente la chiave SSH, la chiave può essere copiata manualmente.

1. Innanzitutto, visualizza la chiave SSH con il seguente comando:

cat ~/.ssh/id_rsa.pub

Il sistema dovrebbe visualizzare la chiave pubblica SSH appena creata. Dovrebbe iniziare con:

ssh-rsa AAAA

2. Prendi nota di questa stringa di caratteri.

3. Quindi, accedi al server remoto. Apri un terminale e crea una nuova directory ssh inserendo quanto segue:

sudo mkdir -p ~/.ssh

5. Successivamente, aggiungi la chiave pubblica al file authorized_keys immettendo quanto segue:

sudo echo ssh_public_key >> ~/.ssh/authorized_keys

Sostituisci ssh_public_key con la chiave pubblica effettiva visualizzata dal comando cat.

6. Imposta le autorizzazioni corrette per la nuova directory:

sudo chmod -R go= ~/.ssh

7. Se stai utilizzando l'account utente Debian root sul server, il proprietario della directory deve essere impostato sull'account utente che accederà in remoto al server:

sudo chown -R user:user ~/.ssh

Fase 4:accedi in remoto utilizzando SSH

1. Dal sistema client, aprire una finestra di terminale e immettere quanto segue:

ssh [email protected]

2. Il sistema potrebbe mostrare che non è possibile stabilire l'autenticità dell'host. Digita yes e premi Invio .

3. Se imposti una passphrase durante il passaggio 2 , inseriscilo quando richiesto.

Ora dovresti avere una connessione SSH al server remoto.

Passaggio 5:disabilita l'autenticazione tramite password (opzionale)

La disabilitazione dell'autenticazione della password è una precauzione di sicurezza. Previene gli attacchi di forza bruta contro il tentativo di accedere al server.

Prima di continuare, ricontrolla per assicurarti:

  • Puoi accedere al server senza password (ad esempio utilizzando una connessione SSH con una coppia di chiavi, descritta in dettaglio in questo articolo).
  • Stai accedendo al server con un account utente sudo.

1. Inizia accedendo al server remoto:

ssh [email protected]

Questo nome utente dovrebbe avere sudo privilegi.

2. Quindi, modifica sshd_config file in un editor di testo a tua scelta (stiamo usando nano):

sudo nano /etc/ssh/sshd_config

3. Trova e modifica le seguenti righe in modo che appaiano come segue:

PasswordAuthentication no

ChallengeResponseAuthentication no

UsePAM no

4. Scrivere le modifiche, quindi uscire dall'editor. Riavvia il servizio SSH immettendo quanto segue:

sudo systemctl restart ssh

Il sistema ora non consente più l'autenticazione tramite password per gli accessi.


Debian
  1. Come impostare le chiavi SSH

  2. Configura le chiavi SSH sul sistema Debian 9 - Come farlo?

  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 SSH su Debian

Come configurare le chiavi SSH su Debian 10

Come configurare l'autenticazione SSH senza password su Linux

Come generare una chiave SSH in CentOS 8

Come configurare le chiavi SSH su Debian 11 Linux

Come configurare WireGuard VPN su Debian 11

Come generare e utilizzare la chiave SSH nel sistema Linux?