Quando vogliamo connetterci ad un server SSH, solitamente utilizziamo un comando simile al seguente:
ssh user@remotehost.com
Una volta connessi ci viene richiesta la password di accesso e subito dopo siamo connessi. Digitare ogni volta la password puo' essere scomodo, ed in alcuni casi questo potrebbe addirittura impedirci di creare uno script di automazione per velocizzare alcuni compiti.
Ci vengono in aiuto le chiavi SSH. Generando una coppia di chiavi pubblica/privata di SSH sulla propria macchina, ed esportando la chiave pubblica sul server remoto, possiamo fare in modo di autorizzare la nostra chiave remota, facendo si che le connessioni successive avvengano senza la richiesta di alcuna password.
Supponiamo (a scopo dimostrativo) che il server remoto si trovi all'indirizzo IP 192.168.0.2 e supponiamo inoltre di avere un account chiamato user sulla macchina remota.
Per prima cosa dobbiamo generare la coppia di chiavi sulla nostra macchina locale (n.b: non utilizzo alcuna passphrase, altrimenti mi verrebbe richiesta comunque al primo login di ogni sessione):
andy80@noteboontu:~$ ssh-keygen -t dsa Generating public/private dsa key pair. Enter file in which to save the key (/home/andy80/.ssh/id_dsa): Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in /home/andy80/.ssh/id_dsa. Your public key has been saved in /home/andy80/.ssh/id_dsa.pub. The key fingerprint is: 22:99:69:d2:8d:8e:a5:f1:f4:dc:0f:d8:49:52:53:cd andy80@noteboontu
A questo punto dobbiamo copiare la chiave pubblica appena generata, sul server remoto:
cd ~/.ssh/ scp id_dsa.pub user@192.168.0.2:./id_dsa.pub
Ci verrà chiesta la nostra password remota, per poter effettuare la copia del file. A questo punto dobbiamo connetterci via SSH al server remoto:
ssh user@192.168.0.2
Quando abbiamo effettuato correttamente il login, dobbiamo procedere con i seguenti comandi:
cd .ssh touch authorized_keys2 chmod 600 authorized_keys2 cat ../id_dsa.pub >> authorized_keys2 rm ../id_dsa.pub
Il gioco è fatto! Le successive connessioni SSH che effettueremo verso il server remoto, avverranno senza la richiesta di alcuna password.












March 1st, 2008 at 10:28 am
Arrivato al punto:
cat ../id_dsa.pub >> authorized_keys
Mi dice
-bash: syntax error near unexpected token `&’
Cosa sbaglio?
March 1st, 2008 at 10:31 am
Come non detto, bastava mettere a posto di quello schifo di output che tira fuori wordpress (suppongo sia lui) il >>
March 1st, 2008 at 11:10 am
penso che il copia incolla ti ha sostituito >> con > >
cat ../id_dsa.pub >> authorized_keys2
ciao
Luca
March 1st, 2008 at 12:11 pm
Avete ragione, scusatemi. In effetti c’è questo pub in wordpress… vuole per forza formattare anche il codice che si trova dentro il tag e spesso mi dimentico di ricontrollarlo. Adesso dovrebbe essere tutto a posto, grazie per la segnalazione
March 1st, 2008 at 4:08 pm
sarà ma io ho fatto esattamente come indicato ma la password continua a chiedermela..
March 1st, 2008 at 5:39 pm
Vi segnalo la guida dalla quale ho preso spunto: http://www.sshkeychain.org/mirrors/SSH-with-Keys-HOWTO/SSH-with-Keys-HOWTO-4.html
Potrei anche essermi dimenticato qualcosa… però ti assicuro che ad altri ha funzionato.
March 2nd, 2008 at 3:56 am
Per copiare la chiave pubblica nella macchine remota si puo’ anche usare il comando
ssh-copy-id -i .ssh/id_dsa.pub user@192.168.0.2
e verra’ automaticamente aggiunta al file authorized_keys