Usare ssh senza inserire sempre la password

Inserito da il 4 December 2006, 3734 visite totali

Un trucchetto molto comodo per non dover sempre inserire la password durante una connessione ssh, consiste nel generare una coppia di chiavi sulla macchina locale (quella che iniziera’ il collegamento ssh con il server) e copiare la chiave pubblica nell’authorized_keys del server remoto. Ricordiamo inoltre che la sicurezza e’ sempre garantita perche’ il protocollo ssh e’ sempre lo stesso e quindi tutti i dati viaggeranno criptati.

Loggatevi quindi con il vostro normale utente sulla macchina locale e generate la coppia di chiavi (preferibilmente utilizzando l’algoritmo DSA):

[matteo@murena ~]$ ssh-keygen -t dsa
Generating public/private dsa key pair.
Enter file in which to save the key (/root/.ssh/id_dsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/matteo/.ssh/id_dsa.
Your public key has been saved in /home/matteo/.ssh/id_dsa.pub.
The key fingerprint is:
c0:42:3d:e5:02:51:2c:ab:c8:3e:28:6d:76:53:46:fe matteo@murena

Quando vi verra’ richiesto di digitare una passphrase potete benissimo premere invio e quindi ignorare quel passaggio.

La coppia di chiavi (pubblica + privata) verranno quindi create in /home/matteo/.ssh/ e si chiameranno rispettivamente id_dsa.pub e id_dsa.

Tramite scp o se possibile anche manulamente copiare la chiave pubblica (id_dsa.pub) sul server nella directory /root/.ssh/ e rinominandola in authorized_keys nel caso il file non esista, altrimenti appendendola semplicemente alla fine dello stesso:

[matteo@murena ~]$ scp .ssh/id_dsa.pub root@192.168.0.2:/root/.ssh/
ssh root@192.168.0.2
Password:
[root@sardina ~]# cd .ssh
# cat id_dsa.pub >> authorized_keys
# logout

Da adesso tutte le volte che dovrete accedere dal vostro pc al server non avrete piu’ necessita’ di dover digitare la password perche’ la stessa verra’ letta automaticamente dalla chiave che gli avete aggiunto!

Importante! Da ricordare!

Perche’ tutto funzioni correttamente dovrete anche controllare che nel vostro file /etc/ssh/sshd_config siano abilitate e cioe’ impostate su yes le seguenti voci:

RSAAuthentication yes
PubkeyAuthentication yes

Inoltre ricordiamo che e’ sempre bene permettere l’accesso da root solo a coloro che possiedono la chiave criptata e per questo motivo, semre nel file /etc/ssh/sshd_config modificate la riga

PermitRootLogin yes

con

PermitRootLogin without-password

7 commenti per “Usare ssh senza inserire sempre la password”

  1. Paride Dominici scrive:

    Utililizzimo e chiarissimo !!!
    Grazie infinite !!!!

  2. pennega scrive:

    mha…. fugurati siamo qui per questo 😉

  3. Mot scrive:

    Per carità, non sarà un commento tempestivo, ma sei stato superutile!!! Grazie! Per lavorare devo loggarmi con ssh su un server e di lì di nuovo su un altra macchina, dovevo scrivere 10^n password tutti i giorni! Se vuoi chiedermi dei soldi questo è il momento giusto… 😉

  4. pennega scrive:

    hihihihihihihi
    allora nel menu di destra nella sezione meta sotto il logo (modificato) di firefox trovi il link per effettuare una donazione via paypal 😉

    hihihihiihihihih

  5. terafil scrive:

    purtroppo per me non funziona… Cerco di autenticarmi da un client A (ubuntu desktop 64bit 10.10) ad un server B (ubuntu server 64bit 10.10), ho seguito la guida senza intoppi, ma al momento della prima autenticazione mi viene comunque richiesta la password… idee?

    In ogni caso grazie della guida

  6. Matteo Mattei scrive:

    Probabilmente ti chiede il permesso di inserire l’host remoto sul file locale ~/.ssh/known_hosts domandandoti yes/no ma non dovrebbe chiederti la password…

  7. pennega scrive:

    veramente strano… hai controllato anche le opzioni per il login nel file di conf di ssh? magari l’inghippo stà li.
    Se hai ancora problemi registrati al sito ed apri un topic che così ci si rende conto meglio 😀

Lascia una risposta

L'indirizzo email non verrà pubblicato. I campi obbligatori sono contrassegnati *