Curiosone
Devi avere OpenSSH installati sia sul client sia sul server e quest'ultimo deve partire come demone (sshd) per consentire le connessioni.
Per farla + facile crea in entrambe le macchine uno user uguale, poi dal Client con questo user (es: Orazio) ti crei una tua chiave privata e pubblica:
ssh-keygen -t dsa -b 512 -f id_dsa -N PASSWORD
La linea è arbitraria nel senso che leggendo la man page puoi cambiare l'algoritmo (DSA/RSA) i Byte della chiave etc. il "-N" inserisce una PASSPHRASE, se non vuoi questa PASSPHRASE allora cambia con
-N ""
Fatto questo ti trovi con 2 file creati
id_dsa
id_dsa.pub
Il primo file è la tua chiave privata da conservare GELOSAMENTE, la seconda è la chiave pubblica, entrambe le devi copiare all'interno della dir .ssh della tua home
cp id_dsa* ~/.ssh
Ora bisogna trasferire la chiave pubblica sul server
scp id_dsa.pub ip_server:~/
ti verrà chiesta la password ed effettuata l'autenticazione avverrà la copia del file. Adesso serve una connessione via ssh (inutile a questo punto usare un sistema in chiaro NDA).
ssh ip_server
l'utenza non è necessaria se sul Server esiste la stessa utenza del Client che stai usando in questo momento. Sul server ora devi copiare la chiave pubblica all'interno del file che gestisce le connessioni "autorizzate" via ssh. Quindi:
cat id_dsa.pub >> ~/.ssh/authorized_keys
fai attenzione al >> significa "accoda al file", se usi > significa "crea file o azzera se esistente" con perdita dei dati contenuti nel file.
Finita l'operazione esci dal Server e sul Client controlla i permessi delle directory e dei file coinvolti in ssh ossia:
chmod 775 ~/
chmod 700 ~/.ssh
chmod 600 ~/.ssh/*
questo se nel file sshd_config la riga è
StrictModes yes (consigliato)
se tutto è andato bene lancia
ssh-agent
il quale posterà a video una serie di messaggi indicanti degli aggiustamenti dell'environment che devi assolutamente settare. Es:
SSH_AUTH_SOCK=/tmp/ssh-vmvGs26957/agent.26957; export SSH_AUTH_SOCK;
SSH_AGENT_PID=26958; export SSH_AGENT_PID;
fatto questo nella stessa shell dove hai aggiunto gli environment lancia
ssh-add
Ora ti chiederà una passphrase, quella settata al momento della ssh-keygen ( lo switch -N o interattivo). Se esiste la PASSPHRASE ti verrà chiesta una sola volta. Prova poi a ricollegarti al server
ssh ip_server
e *dovresti* avere il login senza digitare alcunchè. Ora ti dico anche una cosa abbstanza importante: leggiti a fondo la man page e i vari howto, perchè basta una virgola sbagliata , ad esempio i permessi sul file non settati perchè non funzioni nulla. Però una volta configurato vedrai che bellezza
Spero di non aver tralasciato nulla, se hai qualche difficcoltà proviamo a risolverla.
Bye!