Configura SSH per l'accesso senza password

SSH

SSH, o Secure Shell, è una shell sicura utilizzata per accesso remoto da tutti i tipi di dispositivi ai server, attraverso un canale tunnellizzato e protetto da crittografia, che gli conferisce una sicurezza che impedisce, o almeno rende estremamente difficile, che terze parti possano intercettare il nome utente o la password. Nel caso di * Nix, abbiamo questo protocollo disponibile tramite OpenSSH, un insieme di soluzioni client-server disponibili in tutte le distribuzioni Linux e piattaforme correlate come * BSD.

Ora, se SSH ci offre un eccellente livello di sicurezza, perché dovremmo usarlo senza la necessità di inserire una password? Ci possono essere diversi motivi, ma uno che comunemente spicca come generatore è la necessità di accedere da remoto tramite script ed eseguire attività di superutente, ed è che, come ben sappiamo, non è consigliabile inserire quei dati in nessuno script. Per risolvere questo problema andremo a vedere come generare chiavi SSH per poter accedere da remoto senza la necessità di una password.

Questo ci richiede generare una chiave pubblica e una chiave privata: il primo verrà memorizzato sul server a cui andremo ad accedere e come indica il suo nome potremo inviarlo o condividerlo, e il secondo verrà memorizzato sul dispositivo (computer, smartphone, tablet) da cui andremo accedere a detto server e deve essere tenuto con molta attenzione e utilizzato solo da noi o da persone di cui ci fidiamo.

Per quanto accennato nel paragrafo precedente, è importante commentare che questo tipo di soluzione richiede una grandissima responsabilità nella cura dei dispositivi da cui andremo a entrare in un server, e cioè che chiunque abbia accesso a possono accedervi senza bisogno di conoscere la password, il che è un rischio molto grande per la sicurezza. Chiarito questo, vediamo come possiamo iniziare, e per questo la prima cosa è avere il demone SSH installato sul server:

# apt-get install openssh-server

Ora dobbiamo creare la directory .ssh nella directory dell'utente:

# mkdir -p $ HOME / .ssh

# chmod 0700 $ HOME / .ssh

# tocca $ HOME / .ssh / authorized_keys

Modifichiamo il file /etc/ssh/sshd_config e verifichiamo che le seguenti righe siano così come sono:

PubkeyAuthentication sì

AuthorizedKeysFile% h / .ssh / authorized_keys

Ora andiamo al client ed eseguiamo:

ssh-keygen -t rsa

Ci verrà comunicato che la chiave è in fase di creazione e ci verrà chiesto di inserire il file in cui verrà memorizzata (di default sarà nella nostra home, in una cartella chiamata /.ssh/id_rsa). Possiamo premere Invio poiché quella posizione ci serve perfettamente, quindi premere di nuovo Invio le due volte che ci viene richiesto inserire una passphrase poiché, ricorda, entreremo da remoto senza inserire alcun dato quindi non vogliamo nemmeno nessuna frase.

Ora che abbiamo la chiave pubblica, dobbiamo condividerla con quei computer a cui ci collegheremo. Supponendo che il server di cui stiamo parlando abbia l'indirizzo 192.168.1.100, quello che devi fare è:

ssh-copy-id -i $ HOME / .ssh / id_rsa.pub root@192.168.1.100

Dopo la copia, saremo invitati a eseguire il login remoto per testare le chiavi, e in questo caso è necessario tenerne conto radice È l'account con cui accediamo al server, quindi se vogliamo farlo con un altro utente dobbiamo modificare root per l'account utente con il quale andremo a eseguire il accesso tramite SSH.

Ora dobbiamo solo riavviare il server SSH in modo che prenda la nuova configurazione:

# /etc/init.d/ssh riavvio

D'ora in poi, se vogliamo accedere a un secondo server e farlo senza inserire una password, dobbiamo semplicemente inviargli la chiave pubblica, con la quale ripetiamo semplicemente l'ultimo passaggio, cambiando utente e indirizzo IP se necessario:

ssh-copy-id -i $ HOME / .ssh / id_rsa.pub admin@192.168.1.228


Lascia un tuo commento

L'indirizzo email non verrà pubblicato. I campi obbligatori sono contrassegnati con *

*

*

  1. Responsabile dei dati: Miguel Ángel Gatón
  2. Scopo dei dati: controllo SPAM, gestione commenti.
  3. Legittimazione: il tuo consenso
  4. Comunicazione dei dati: I dati non saranno oggetto di comunicazione a terzi se non per obbligo di legge.
  5. Archiviazione dati: database ospitato da Occentus Networks (UE)
  6. Diritti: in qualsiasi momento puoi limitare, recuperare ed eliminare le tue informazioni.

  1.   essiccante suddetto

    Grazie per le informazioni ma niente… non c'è modo….
    Ho provato tutta la mattina e mi chiede sempre la password.
    Tempo fa ci ho provato e l'ho lasciato impossibile per lo stesso motivo….
    Creo la mia chiave sul mio Macbook, la copio sul mio raspberry in ~ / .ssh / authorizedKeys
    Configuro sshd.conf con l'autenticazione pubblica e verifico che la directory delle chiavi sia esattamente dove si trovano le chiavi. Riavvio il lampone e quando mi connetto mi chiede di nuovo la password
    Cosa può fallire?

    1.    essiccante suddetto

      Dopo diverse ore provando molte cose, ho scoperto che con il mio utente creato non funziona mai, ma con l'utente predefinito che si chiama "ubuntu" funziona la prima volta.
      Qualche chiarimento sul motivo per cui questo può accadere?
      Saludos y gracias