GNU/Linux >> Linux Esercitazione >  >> Linux

Come configurare l'accesso SSH senza password

Introduzione

SSH (Secure Shell) consente connessioni remote sicure tra due sistemi. Con questo protocollo crittografico, puoi gestire macchine, copiare o spostare file su un server remoto tramite canali crittografati.

Esistono due modi per accedere a un sistema remoto tramite SSH:utilizzando l'autenticazione tramite password o autenticazione con chiave pubblica (accesso SSH senza password).

In questo tutorial, scoprirai come impostare e abilitare l'accesso SSH senza password.

Prerequisiti

  • Accesso alla riga di comando/finestra del terminale
  • Utente con sudo o root privilegi
  • Un server locale e un server remoto
  • Accesso SSH a un server remoto tramite riga di comando/finestra del terminale

Prima di iniziare:verifica la presenza di chiavi SSH esistenti

Potresti già avere una coppia di chiavi SSH generata sul tuo computer. Per vedere se hai chiavi SSH sul sistema, esegui il comando:

ls -al ~/.ssh/id_*.pub

Se l'output ti dice che non ci sono file di questo tipo, vai al passaggio successivo, che mostra come generare chiavi SSH.

Nel caso in cui li possiedi, puoi utilizzare le chiavi esistenti, eseguirne il backup e crearne una nuova coppia o sovrascriverla.

Fase 1:Genera coppia di chiavi SSH

1. La prima cosa che devi fare è generare una coppia di chiavi SSH sulla macchina su cui stai lavorando.

In questo esempio, generiamo una coppia di chiavi a 4096 bit. Aggiungiamo anche un indirizzo e-mail, tuttavia questo è facoltativo. Il comando è:

ssh-keygen -t rsa -b 4096 -C "[email protected]"

2. Quindi, digita la posizione in cui desideri memorizzare le chiavi o premi Invio per accettare il percorso predefinito.

3. Ti chiede anche di impostare una passphrase. Sebbene ciò renda la connessione ancora più sicura, potrebbe interrompersi durante l'impostazione di processi automatizzati. Pertanto, puoi digitare una passphrase o semplicemente premere Invio per saltare questo passaggio.

4. L'output quindi ti dice dove ha memorizzato l'identificazione e la chiave pubblica e ti fornisce l'impronta digitale della chiave.

5. Verifica di aver creato correttamente la coppia di chiavi SSH eseguendo il comando:

ls -al ~/.ssh/id_*.pub

Dovresti vedere il percorso della chiave di identificazione e della chiave pubblica, come nell'immagine seguente:

Fase 2:carica la chiave pubblica sul server remoto

Puoi caricare la chiave SSH pubblica su un server remoto con ssh-copy-id comando o il cat comando. Di seguito puoi trovare entrambe le opzioni.

Opzione 1:carica la chiave pubblica utilizzando il comando ssh-copy-id

Per abilitare l'accesso senza password, devi caricare una copia della chiave pubblica sul server remoto.

1. Collegati al server remoto e usa ssh-copy-id comando:

ssh-copy-ide [remote_username]@[server_ip_address]

2. La chiave pubblica viene quindi copiata automaticamente in .ssh/authorized_keys file.

Opzione 2:carica la chiave pubblica utilizzando il comando cat

Un altro modo per copiare la chiave pubblica sul server è utilizzare il cat comando.

1. Inizia connettendoti al server e creando un .ssh directory su di esso.

ssh [remote_username]@[server_ip_address] mkdir -p .ssh

2. Quindi, digita la password per l'utente remoto.

3. Ora puoi caricare la chiave pubblica dalla macchina locale al server remoto. Il comando specifica inoltre che la chiave verrà archiviata con il nome authorized_keys nel .ssh appena creato directory:

cat .ssh/id_rsa.pub | ssh [remote_username]@[server_ip_address] 'cat >> .ssh/authorized_keys'

Fase 3:accedi al server senza password

Con la coppia di chiavi SSH generata e la chiave pubblica caricata sul server remoto, ora dovresti essere in grado di connetterti al tuo server dedicato senza fornire una password.

Verifica se l'installazione funziona eseguendo il comando:

ssh [remote_username]@[server_ip_address]

Il sistema dovrebbe accedere direttamente al server remoto, nessuna password richiesta.

Facoltativo:risoluzione dei problemi relativi alle autorizzazioni dei file del server remoto

Le autorizzazioni dei file sul server remoto possono causare problemi con l'accesso SSH senza password. Questo è un problema comune con le versioni precedenti di SSH.

Se ti viene ancora richiesta una password dopo aver eseguito tutti i passaggi, inizia modificando i permessi dei file sul server remoto.

  • Imposta le autorizzazioni 700 per .ssh directory.
  • Imposta le autorizzazioni 640 per .ssh/authorized_keys directory.

Modifica i permessi dei file con il seguente comando:

ssh [remote_username]@[server_ip_address] "chmod 700 .ssh; chmod 640 .ssh/authorized_keys"

Inserisci la tua password quando richiesto. Non ci sarà alcun output se l'azione ha avuto successo. Il problema dovrebbe essere risolto ora.


Linux
  1. Come configurare l'accesso SSH senza password

  2. Come impostare le chiavi SSH

  3. Come configurare le chiavi SSH su Ubuntu 18.04

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

  5. Come configurare le chiavi SSH per l'accesso SSH "senza password" su CentOS/RHEL

Come configurare l'accesso senza password SSH su CentOS 7 / RHEL 7

Come configurare l'accesso senza password SSH su CentOS 8 / RHEL 8

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 AlmaLinux

Accesso SSH senza password in 3 semplici passaggi