Come impostare senza password SSH Login

Secure Shell (SSH) è un protocollo di rete crittografico utilizzato per la connessione sicura tra un client e un server e supporta vari meccanismi di autenticazione. I due meccanismi più diffusi sono l’autenticazione basata su password e l’autenticazione basata su chiave pubblica.

In questo tutorial, vi mostreremo come impostare un’autenticazione basata su chiave SSH e come connettersi al server Linux senza inserire una password.,

Setup SSH Passwordless Login #

Per impostare un passwordless SSH login in Linux tutto ciò che devi fare è generare una chiave di autenticazione pubblica e aggiungerla agli host remoti~/.ssh/authorized_keys file.

I passaggi seguenti descrivono il processo per la configurazione dell’accesso SSH senza password:

  1. Controlla la coppia di chiavi SSH esistente.

    Prima di generare una nuova coppia di chiavi SSH, controlla se hai già una chiave SSH sul tuo computer client perché non vuoi sovrascrivere le chiavi esistenti.,

    Esegui il seguente comando ls per vedere se sono presenti chiavi SSH esistenti:

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

    Se ci sono chiavi esistenti, puoi usarle e saltare il passaggio successivo o eseguire il backup delle vecchie chiavi e generarne una nuova.

    Se vedi No such file or directory o no matches found significa che non hai una chiave SSH e puoi procedere con il passaggio successivo e generarne una nuova.

  2. Genera una nuova coppia di chiavi SSH.,

    Il comando seguente consente di generare un nuovo 4096 bit coppia di chiavi SSH con il vostro indirizzo email in un commento:

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

    Premere Enter per accettare il percorso predefinito del file e il nome del file:

    Enter file in which to save the key (/home/yourusername/.ssh/id_rsa):

    Avanti, ssh-keygen strumento chiederà di digitare un sicuro passphrase. Se si desidera utilizzare passphrase è a voi, se si sceglie di utilizzare passphrase si otterrà un ulteriore livello di sicurezza., Nella maggior parte dei casi, gli sviluppatori e gli amministratori di sistema utilizzano SSH senza una passphrase perché sono utili per processi completamente automatizzati. Se non si desidera utilizzare una passphrase, è sufficiente premere Enter.,

    Enter passphrase (empty for no passphrase):

    L’intera interazione simile a questo:

    Per essere sicuri che le chiavi SSH sono generati si possono elencare le nuove chiavi pubbliche e private con:

    ls ~/.ssh/id_*
    /home/yourusername/.ssh/id_rsa /home/yourusername/.ssh/id_rsa.pub
  3. Copiare la chiave pubblica

    Ora che avete generato una coppia di chiavi SSH, in modo da essere in grado di accedere al tuo server senza password è necessario copiare la chiave pubblica del server che si desidera gestire.,

    Il modo più semplice per copiare la chiave pubblica sul server è usare un comando chiamato ssh-copy-id. Sul tipo di terminale della macchina locale:

    ssh-copy-id remote_username@server_ip_address

    Ti verrà richiesto di inserire laremote_username password:

    remote_username@server_ip_address's password:

    Una volta autenticato l’utente, la chiave pubblica verrà aggiunta all’utente remoto authorized_keys il file e la connessione saranno chiusi.,

    Se per qualche motivo il ssh-copy-id utilità non è disponibile sul computer locale, è possibile utilizzare il seguente comando per copiare la chiave pubblica:

    cat ~/.ssh/id_rsa.pub | ssh remote_username@server_ip_address "mkdir -p ~/.ssh && chmod 700 ~/.ssh && cat >> ~/.ssh/authorized_keys && chmod 600 ~/.ssh/authorized_keys"
  4. accedi al tuo server utilizzando le chiavi SSH

    Dopo aver completato la procedura di cui sopra si dovrebbe essere in grado di accedere al server remoto, senza che sia richiesta una password.

    Per testarlo prova ad accedere al tuo server tramite SSH:

    ssh remote_username@server_ip_address

    Se tutto è andato bene, sarai connesso immediatamente.,

Disabilitare l’autenticazione della password SSH #

Per aggiungere un ulteriore livello di sicurezza al server è possibile disabilitare l’autenticazione della password per SSH.

Prima di disabilitare l’autenticazione della password SSH, assicurati di poter accedere al tuo server senza una password e l’utente con cui stai effettuando l’accesso ha privilegi sudo.,torials descrivono come configurare sudo accesso:

  • Come creare utente sudo su Ubuntu
  • Come creare utente sudo su CentOS
  • Come creare utente sudo su Debian
  1. accedi al tuo server remoto con SSH chiavi, come utente con privilegi sudo o root:

    ssh sudo_user@server_ip_address
  2. Aprire il file di configurazione di SSH /etc/ssh/sshd_config, ricerca per le seguenti direttive e modificare come segue:

    /etc/ssh/sshd_config
    PasswordAuthentication noChallengeResponseAuthentication noUsePAM no

    una Volta che hai finito, salvare il file e riavviare il servizio SSH.,

    Su Debian o Ubuntu server, eseguire il seguente comando:

    sudo systemctl restart ssh

    Su CentOS o Fedora server, eseguire il seguente comando:

    sudo systemctl restart sshd

Conclusione #

In questo tutorial hai imparato come impostare una chiave SSH-autenticazione di base, che consente di accedere al tuo server remoto senza fornire la password di un utente. È possibile aggiungere la stessa chiave a più server remoti.

Ti abbiamo anche mostrato come disabilitare l’autenticazione della password SSH e aggiungere un ulteriore livello di sicurezza al tuo server.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *