ENTRA
 

Usare chiavi pubbliche e private con LINUXssh o scp

Ssh

 

Come fare per evitare di farsi chiedere la password usando ssh o scp?

Quando ci dobbiamo connettere spesso a server Linux, tramite il comando SCP oppure SSH, può essere diventare noiso e si può perdere molto tempo se ogni volta dobbiamo inserire la password.

Usando una coppia di chiavi (privata e pubblica) riusciremo ad evitare tutto questo.

Come generare le chiavi

Innanzi a tutto installiamo su linux

apt-get install ssh

apt-get install openssh-server

a questo punto supponiamo di dover fare le operazioni con lo user administrator, ricordatevi di essere autenticati con lo user che volete poi usare, posizionatevi nella cartella :

cd /home/administrator

verificate che esista la cartella .ssh

posizionatevi nella cartella corretta :

cd /home/administrator/.ssh

e generate le chiavi :

Dovete procedere con il seguente ragionamento : uso molti server e non voglio usare password diverse, allora ne metto una che ricordo, se invece uso solo un server interno e ad esempio ho bisogno di far eseguire tra due server LINUX una copia SCP senza che mi chieda la password allora non metto niente, ma solo su srver interni.

Il comando da usare è il seguente :

ssh-keygen -b 4096  (4096 lunghezza della chiave di incriptazione e non usate l'opzione -t)

Alla prima domanda potete tranquillamente premere invio, e assegnerà il nome al file di default, alla seconda domanda inserite una password o lasciatela vuota a seconda del vostro uso futuro e della vostra sicurezza.

(normalmente è ~/.ssh/id_rsa) il valore di default del nome file pubblico e privato

 

Copia automatica della chiave pubblica

Vi consiglio fortemente di usare i comandi giusti non cp o scp manuali, in quanto funziona ma io sono impazzito per alcuni problemi che non vi dico.

Quindi il comando è il seguente  ssh-copy-id :

ssh-copy-id /home/administrator/.ssh/id_rsa.pub administrator@serverremoto

a quersto punto verifichiamo solo che i permessi siano corretti :

sul server remoto i permessi nella cartella .ssh

I permessi sulla directory remota ~/.ssh devono essere settati a: 755 o così  drwxr-xr-x

i permessi sul file authorized_keys presente nella cartella .ssh deve essere così :  -rw-r--r--

Se non dovesse funzionare questa copia fatelo a mano con scp /percorso/id_rsa.pub user@serverremoto:/percorso/authorized_keys

Configurazione del server

Verificate anche che il file di configurazione del demone ssh abbia le seguenti voci :

sshd_config

HostbasedAuthentication yes

RSAAuthentication yes

PubkeyAuthentication yes

Riavviate il servizio ssh /etc/init.d/ssh restart

Per vedere se funziona

Provate ora a collegarvi dal server principale su quello che volete autenticarvi :

ssh@serverremoto

se non avete messo nessuna password vedrete che vi farà entrare subito senzxa richiesta di password.

Buon lavoro

MOMENTI DI VITA

cerca nel sito