LOGIN AUTOMATICO VIA SSH
Nella mia rete, ho un server, al quale accedo molto spesso via ssh; ogni volta come siamo abituati tutti a fare devo inserire user & password...
La domanda è :
Non c'è un modo per fare riconoscere che questo PC è TRUSTED (*) senza ogni volta inserire nome utente e password?
La riposta c'è ed è semplice : La crittografia RSA, con il ben noto metodo delle chiavi pubbliche e private. (per la felicità di Di Franco)
Quello da fare è semplice :
PASSO 1 ) GENERARE LE CHIAVI
$ssh-keygen -b 1024 -t dsa
Come percorsi lasciate quelli di default che vanno + che bene,
poi vi verrà chiesta una passphrase, che non è altro che una password, MA NOI NON VOGLIAMO LA PASSWORD (altrimenti che stiamo facendo :P) e quindi daremo invio più volte per confermare.
dovreste avere qualcosa di simile
Generating public/private dsa key pair.
Enter file in which to save the key (/home/utente/.ssh/id_dsa):
Created directory '/home/utente/.ssh'.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/utente/.ssh/id_dsa.
Your public key has been saved in /home/utente/.ssh/id_dsa.pub.
The key fingerprint is:
xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx utente@dominio
Naturalmente ho mascherato utente e chiave.
CONGRATULAZIONI, avrete creato le vostre chiavi pubbliche che sono state salvate in /home/utente/.ssh/
In particolare id_dsa è la chiave privata
id_dsa.pub è la chiave pubblica
PASSO 2) INSERIRE LA CHIAVE GENERATA NEL SERVER
Quello che dobbiamo fare ora è indicare al PC sul quale dobbiamo fare l'accesso la chiave pubblica.
Basterà entrare nella macchina remota
Entrare nella home dell'utente a cui vogliamo loggarci automaticamente:
nel caso di un utente normale /home/nomeutente, nel caso di root in /root/
Entrare ancora nella cartella .ssh/
ed accodare al file (se non esiste createlo) authorized_keys il contenuto del file id_dsa.pub che avevamo creato nella macchina locale
IL GIOCO E' FATTO!!!!
Riassumendo
1) generare le chiavi nella macchina locale con
$ssh-keygen -b 1024 -t dsa
non mettendo alcuna pass e lasciando i path originali
2)Accodare il contenuto di{homelocal}/.ssh/id_dsa.pub in {homeremote}/.ssh/authorized_keys
Dove {homelocal} è la l'indirizzo nella home nel computer locale
{homeremote} è l'indirizzo della home nel computer remoto
(*) TRUSTED in questo caso è una cosa buona perchè sono IO a decidere cosa è degno della mia fiducia e cosa no
There is one comment on this page. [Visualizza commento]