SSH con autenticazione a chiavi

Lavorando spesso con SSH, facendo operazioni frequenti, ci si può stancare di dover continuamente scrivere a propria password.

Per mantenere la sicurezza e allo stesso tempo semplificare le operazioni si può passare ad una modalità di autenticazione basata su crittografia asimmetrica, e quindi chiave pubblica e chiave privata.

Iniziamo con un’operazione semplice e indispensabile, generare le chiavi. Per fare ciò c’è naturalmente bisogno di una shell con supporto ssh, e basterà eseguire il seguente comando:

ssh-keygen

Questo vi porrà due domande per poter procedere:

  1. Enter file in which to save the key (/home/nomeutente/.ssh/id_rsa):
    Semplicemente il nome del file in cui salvare la chiave. Se non si specifica nulla userà il default che corrisponde al file tra parentesi.
  2. Enter passphrase (empty for no passphrase):
    Se si vuole abbinare un password alla chiave si può specificare qui. (Lo sconsiglio se dovete fare tante operazioni frequenti)

A questo punto vi troverete con due nuovi file nella cartella /home/nomeutente/.ssh/, il file chiamato ‘id_rsa’ che contiene la chiave privata e il file ‘id_rsa.pub’ che contiente la chiave pubblica.

Una volta caricata la chiave pubblica sul server si potrà procedere con una connessione digitanto nella nostra shell:

ssh -i /home/nomeutente/.ssh/id_rsa remoteuser@XXX.XXX.XXX.XXX

Volendo semplificare ulteriormente le cose possiamo creare nella nostra cartella .ssh un file ‘config’ contenente le seguenti informazioni:

Host connectionname
  User remoteuser
  HostName XXX.XXX.XXX.XXX
  IdentityFile /home/nomeutente/.ssh/id_rsa

A questo punto ci basterà digitare nella nostra shell

ssh connectionname

per eseguire la connessione all’host specificato, con il file chiave e il nome utente che abbiamo configurato.

Naturalmente si può specificare un Host per ogni server a cui dobbiamo connetterci, anche usando chiavi diverse (se non specificato ssh cerca la chiave chiamata id_rsa).

Leave a Reply

Your email address will not be published. Required fields are marked *

*


5 + 9 =

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>