Come configurare l’accesso SSH tramite chiavi (Linux/Mac OSx)
Se hai la necessità di accedere spesso ad un server tramite ssh ti può essere utile utilizzare questo sistema per evitare si inserire ogni volta la password.
Per prima cosa devi generare una coppia di chiavi sul tuo pc (ovvero la macchina Client) con il seguente comando:
ssh-keygen
Dopo aver premuto il tasto invio ti verrà chiesto dove salvare la coppia di chiavi. NB: non inserire la passphrase
user@pc-client:~$ ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/home/user/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/user/.ssh/id_rsa
Your public key has been saved in /home/user/.ssh/id_rsa.pub
The key fingerprint is:
SHA256:PR93DHotyHwiTh//UfLo83SO9Y32G4A4/9+QoO3hA7s user@pc-client
The key’s randomart image is:
+—[RSA 3072]—-+
| .++ |
| o + . |
| o F = o . |
| . + B.o.= |
| . Sot.=.. |
| ..o* o.. |
| +..* o= |
| E .o.++.B|
| …o+O*|
+—-[SHA256]—–+
Al termine di questa operazione, ssh-keygen salverà due file nei percorsi indicati:
- id_rsa: la chiave privata del client, da non condividere con nessuno.
- id_rsa.pub: la chiave pubblica, distribuibile tranquillamente.
Ora bisogna comunicare al Server la chiave pubblica affinché possa creare il sistema di autenticazione.
Per fare questo puoi usare il comando
ssh-copy-id
specificando il nome utente e il server su cui vuoi copiare la chiave pubblica –> ssh-copy-id user@remote_host
Se non è presente questo comando sulla tua distribuzione puoi dare il seguente comando
cat ~/.ssh/id_rsa.pub | ssh user@remote_host “mkdir -p ~/.ssh && touch ~/.ssh/authorized_keys && chmod -R go= ~/.ssh && cat >> ~/.ssh/authorized_keys”
NB: in entrambe i casi sostituisci “user” con il nome utente tramite il quale puoi accedere al Server e “remote_host” con l’IP pubblico del Server
Recent Comments