Tutorials

  • Presto on-line...

About ...

  • ... questo sito
  • ... me


Login automatico, ma sicuro

ssh, login
Il comando ssh (Secure shell) serve per connettersi ad una macchina remota utilizzando una connessione sicura (criptata). Per automatizzare il processo di login bastano pochi semplici passi.

Cosa vogliamo fare:

user1 da host1 deve collegarsi a host2, host3, host4… senza ripetere la password tutte le volte.

Soluzione:

user1 deve generare sulla sua macchina (host1) una coppia di chiavi di autenticazione: una chiave pubblica e una privata.
Si utilizza il comando ssh-keygen. ssh-keygen vuole sapere che tipo di chiavi vogliamo generare. Ci sono almeno due tipi possibili: rsa e dsa.
Il primo più veloce del secondo ma il secondo più sicuro del primo. Se si vuole usare l’rsa si digita: ssh-keygen -t rsa.
Ci verrà chiesto dove vogliamo salvare le chiavi ma andrà benissimo confermare il path suggerito dal sistema. Poi ci verrà chiesto di inserire una password, anche lunga (passphrase), e di ripeterla. Siccome vogliamo poterci collegare ad un’altra macchina in maniera automatica e veloce, non scriveremo nessuna passphrase. Riassumendo, alle richieste di ssh-keygen risponderemo con 3 return.

[host1:~] user1% ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/Users/user1/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
>Enter same passphrase again:
Your identification has been saved in /Users/user1/.ssh/id_rsa.
Your public key has been saved in /Users/user1/.ssh/id_rsa.pub.
The key fingerprint is:
a5:g3:7e:51:g9:c3:b5:47:1e:16:d5:6f:94:35:e0:14 user1@ host1.local.

Nella cartella .ssh all’interno della nostra home (/Users/user1/.ssh) troveremo due nuovi file: id_rsa e id_rsa.pub.
Il secondo contiene la nostra chiave pubblica.
Ed ecco la magia: la chiave pubblica (id_rsa.pub) dovrà essere copiata su tutte quelle macchine su cui vorremo collegarci con ssh senza dover digitare la password ogni volta.
La chiave va copiata all’interno di un file chiamato authorized_keys posizionato sempre dentro alla directory .ssh della nostra home (/Users/user1/.ssh).
In pratica dovremo copiare la nostra chiave pubblica, editare il file authorized_keys e incollare la chiave su una nuova riga. Ogni chiave è composta da una unica riga, molto lunga.
Quindi:

[host1:~] root# cd ~/.ssh
[host1:~/.ssh] root# more id_rsa.pub
ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAIEAvgcYlNvOM4iPfhDpTpyS9Iv8w+lK
VJMji6cTpk1lz9wzWgW8O6DEJGqIW0/VgwKpPqXyvVvq5JK4mVtQEuQ4PiiMiGA0
/viPUfVkZVRPMu+/EuP/FNWf9cOh9nEL7qwg/T0SIa7pN8NkLcQH3ESOnUNe/J6R
YwrIgag09dKaoZ0=
user1@ host1.local

selezionare e copiare il contenuto del file (nell’esempio: le ultime
4 righe).
[host1:~] user1# ssh host2
user1@ host2's password: (digitare la pw)
Last login: Sun Apr 20 08:01:46 2003 from host1.local
Welcome to Darwin!
[host2:~] user1# cd .ssh (se la directory non c'e',
                          crearla con mkdir .ssh)
[host2:~/.ssh] user1# pico authorized_keys

... si apre l’editor. A questo punto si incolla la chiave precedentemente copiata facendo attenzione a togliere eventuali "a-capo" di troppo. Ricordo ancora che ogni chiave deve stare su una sola riga.
Salvare le modifiche e uscire.
Da questo momento quando user1 da host1 si conette a host2 non dovrà più digitare la password.

Per approfondimenti:

Consiglio innanzitutto di guardare i manuali in linea:

  • man ssh
  • man ssh-keygen

Posted on Apr 21, 2003 - 07:28 PM


Ricerca:


Adv:

ApplePro :
Vuoi acquistare un prodotto dalla Apple? Sei un utente Pro (cioè hai la partita IVA)? Se vuoi supportare il nostro sito, passa da qui: apple pro.