In rete è pieno di guide che spiegano la cosa, ma tutte prevedono l’uso – e quindi l’installazione – di PuttyGen su Windows , cosa che io volevo evitare preferendo fare tutto su Linux.
Una volta loggati su Linux con l’utente al quale vorremo dare l’accesso tramite SSH – io sconsiglio di usare direttamente root, meglio un altro utente con privilegi inferiori – diamo il seguente comando:
ssh-keygen
Il quale ci pone subito una prima domanda:
$ ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/home/studio/.ssh/id_rsa):
Premere INVIO lasciando il default.
Dopodiché ci chiede una passphrase che, salvo non la memorizziate nel client, dovrete digitare ogni volta. Sarebbe più sicuro metterla ma, a quel punto, viene meno la praticità, quindi, io consiglio di …
Created directory '/home/<username>/.ssh'.
Enter passphrase (empty for no passphrase):
… premere INVIO un paio di volte e fottersene.
Ora diamo i giusti permessi alla cartella “.ssh” con:
chmod 700 ~/.ssh
Bene, ora che è stata creata la chiave privata e pubblica in OpenSSH, dobbiamo creare la chiave per il client Putty, con questi comandi:
cd .ssh/
puttygen id_rsa -o id_rsa.ppk
puttygen -L id_rsa.ppk >> authorized_keys
chmod 600 authorized_keys
I quali servono nell’ordine a:
- Entrare nella cartella nascosta “.ssh”.
- Generare il certificato per Putty; il file “id_rsa.ppk” andrà copiato – in qualche modo, arrangiatevi a cercare un metodo per farlo – laddove utilizziamo il client Putty (presumibilmente una fucking machine Windows) e lì caricato nel client nell’apposita sezione “AUTH”.
- Consentire a Putty di eseguire il login senza password ma tramite la chiave generata, dato che il daemon SSH troverà la chiave di accesso in “authorized_keys”. Se non avete installato “puttygen”… beh, dovrete installarlo !
- Dare i giusti permessi alla chiave per Putty.
Il resto si fa tutto sul client Putty.
Se proprio non ce la fate, chiedete, non mordo !