SSH
Note per usare ssh (Secure SHell from Wikipedia), tool molto potente e spesso sotto-utilizzato.
Ad esempio è possibile configurare un client ed un server in modo che ssh non richieda la password per collegarsi al server dal client sfruttando chiavi pubbliche e private (che è un modo comodo e decisamente più sicuro dell'uso della password).
Creare una coppia di chiavi sul client
creazione delle chiavi, esempio:
alx 12:47:03 ~: ssh-keygen -t rsa Generating public/private rsa key pair. Enter file in which to save the key (/home/corni/.ssh/id_rsa):
questa e' la chiave di default, di solito va bene cosi'. inserire una password seria con cui proteggere la chiave privata.
Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in /home/corni/.ssh/idTmp. Your public key has been saved in /home/corni/.ssh/idTmp.pub. The key fingerprint is: 59:34:d1:99:67:8c:90:5f:92:df:26:94:72:c9:9e:ac corni@alx
usare l'identita' che si e' appena creata
kde, gnome e altri ambienti fanno partire automaticamente un'istanza di ssh-agent per cui e' sufficiente chiedere ad ssh-agent di usare la data identita' con il comando:
ssh-add ~/.ssh/id_rsa
Se non funziona, occorre prima attivare ssh-agent
alx 12:50:52 ~:ssh-agent SSH_AUTH_SOCK=/tmp/ssh-KlWHV19986/agent.19986; export SSH_AUTH_SOCK; SSH_AGENT_PID=19987; export SSH_AGENT_PID; echo Agent pid 19987;
nell'output di ssh agent ci sono le isntruzioni bash da eseguire perche' i futuri comandi ssh usino l'agent appena avviato, per cui occorre eseguire i comandi
SSH_AUTH_SOCK=/tmp/ssh-KlWHV19986/agent.19986; export SSH_AUTH_SOCK; SSH_AGENT_PID=19987; export SSH_AGENT_PID; echo Agent pid 19987;
e quindi
ssh-add ~/.ssh/id_rsa
Configurare un server SSH per non richiedere la password
ssh username@nomeDellaMacchina cd mkdir .ssh chmod 700 .ssh cd .ssh cat >> authorized_keys2 incollare il contenuto della propria chiave pubblica ~/.ssh/id_rsa.pub ^D
Ora, dal client ci si potrà collegare al server senza che venga chiesta alcuna password. L'autenticazione avviene sfruttando la coppia di chiavi pubblica e privata.
Script utili per windows e cygwin
Il seguente script lancia l'ssh-agent e configura correttamente l'ambiente se questo non è già partito.
# # ssh agent fn=$HOME/var/ssh-agent.sh if [ `ps | grep -i -c ssh-agent` -gt 0 ] then . $fn else eval `ssh-agent` cat > $fn <<EOF # # Ssh-agent setup file # # This file was generated automatically by .bashrc on [`date`] # please do not modify it manually SSH_AUTH_SOCK=$SSH_AUTH_SOCK; export SSH_AUTH_SOCK; SSH_AGENT_PID=$SSH_AGENT_PID; export SSH_AGENT_PID; EOF ssh-add .ssh/id_rsa fi
Questo script si può anche ma questo (con il tag <<EOF) è decisamente più didattico.