Il login ssh senza password automatico può semplificarci la vita. Per abilitare questo, abbiamo 2 opzioni: utilizzando l’autenticazione basata su chiave copiando le nostre chiavi pubbliche SSH alle macchine remote per il login automatico senza password o utilizzando l’autenticazione basata su password. Introdurrò le opzioni 2 nel post. Prima di iniziare, si noti che l’autenticazione basata su chiave è generalmente suggerita quando l’ambiente di lavoro lo consente.,
Sommario
Introduciamo due metodi in questo post: usando il comando ssh-copy-id e il modo manuale.
Genera coppia di chiavi SSH
Se non si dispone ancora di una coppia di chiavi SSH private / public, è possibile generarne una prima.
$ ssh-keygen -t rsa
Per impostazione predefinita su Linux, la coppia di chiavi è memorizzata in~/.ssh
denominataid_rsa
eid_rsa.pub
per la chiave privata e pubblica.,
Copia la chiave SSH pubblica sulla macchina remota
Hai due scelte qui. A meno che non sia possibile utilizzare il metodo ssh-copy-id
, è possibile provare il modo “manuale”.
Il modo più semplice
Lascia che ssh-copy-id lo faccia automaticamente:
$ ssh-copy-id username@remotemachine
Se hai più chiavi nella tua directory~/.ssh
, potresti dover usare-i key_file
per specificare quale chiave userai.,
Il modo manuale
Copiare la chiave SSH pubblica sulla macchina remota
$ scp .ssh/id_rsa.pub username@remotemachine:/tmp/
Accedere alla macchina remota
$ ssh username@remotemachine
Aggiungere la chiave SSH pubblica a~/.ssh / authorized_keys
Assicurarsi che la modalità di~/.ssh / authorized_keys è 755:
$ chmod 755 ~/.ssh/authorized_keys
Possibili problemi
Alcuni possibili problemi che impediscono di impostare correttamente l’accesso senza password.,
Directory/file permissions
Home directory
Controlla il permesso della home directory che può causare il fallimento del login basato su chiave (supponiamo che la home directory sia/home/zma):
# chmod 700 /home/zma/
~/.permesso ssh
Assicurarsi che il.il permesso della directory ssh è 755:
$ chmod 755 ~/.ssh/
~/.ssh / authroized_keys permesso
Assicurarsi che il .il permesso della directory ssh è 755:
$ chmod 755 ~/.ssh/authorized_keys
$ chmod 700 ~/.ssh/id_rsa$ chmod 700 ~/.ssh/id_rsa.pub
Accesso ssh “senza password” basato su password
Questo metodo l’accesso e l’autenticazione sono ancora tramite password., Tuttavia, usiamo uno strumento per aiutarci a inserire automaticamente la password. Lo strumento è sshpass
che funziona bene.
L’utilizzo è molto semplice in quanto segue fornendo la password nella riga di comando:
$ sshpass -p "your_password_here" ssh username@remotemachine
o fornendo la password nella prima riga di un file
$ sshpass -f /path/to/file_storing_your_password ssh username@remotemachine
considerazioni di Sicurezza: prima di utilizzare il sshpass
si prega di leggere le “CONSIDERAZIONI di SICUREZZA” nella sezione sshpass
pagina man per conoscere i problemi di sicurezza e utilizzare solo quando si può tollerare.,