Related Articles
Login
| ssh without username and password |
|
|
|
| Scritto da Andrea Crisafulli - Xanio |
![]() Vediamo come effettuare il login su un host remoto tramite ssh senza necessità di digitare username e password. Questo ci permetterà di eseguire comandi "al volo" dal nostro host direttamente sull'host remoto, permessi premettendo.
Iniziamo con il creare la nostra chiave $ ssh-keygen -t dsa -b 1024
i parametri sono facilmente spiegati dal man oppure di seguito quelli usati:
la chiave viene creata in un file dentro la directory ssh dell'utente: ~/.ssh/id_dsa.pub #chiave pubblica
Durante la fase di creazione viene richiesta una passphrase (facoltativa), aumenta il livello di sicurezza, in quanto durante la fase di login viene richiesta questa password piuttosto che la password dell'utente, ma se viene omessa è possibile effettuare normalmente il login. adesso bisogna copiare la chiave pubblica id_dsa.pub sull'host remoto dentro il file ~/.ssh/authorized_keys nella home dell'utente remoto. Possiamo utilizzare l'utility di ssh per fare questo: $ ssh-copy-id -i ~/.ssh/id_dsa.pub utente@host-remoto oppure: $ scp -P ~/.ssh/id_dsa.pub @:~/.ssh/authorized_keys Per evitare problemi bisogna controllora se il server(host remoto) ha questa configurazione: $ vim /etc/ssh/sshd_config [cut] HostbasedAuthentication yes
perfetto, adesso dal nostro client basta fare: $ssh utente@host-remoto
Consiglio: se non volete permettere il login tramite password, ma solo attraverso public key, settate anche le opzioni:
UsePAM no Da non usare se avete utilizzato una passphrase nella generazione della chiave.
Adesso completiamo la parte relativa alla sezione dell'utente per effettuare il login sull'host-remoto senza digitare l'user: Create o aggiungete un file di configurazione di ssh fatto così $ .ssh/config
User utente-remoto Adesso basta digitare solo $ssh host-remoto questo comando vi farà loggare senza inserire l'user e sopratutto senza la necessità di inserire la password grazie alla chiave pubblica!! se adesso alla stringa sopra riportata aggiungo un comando, questo verrà eseguito direttamente, provate per credere: $ ssh host-remoto tail /var/log/syslog .... ovviamente se avrete i permessi per fare ciò :)
Potete leggere l'articolo anche su http://www.nemesilabs.org/2011/07/26/work-autenticazione-login-ssh-senza-user-e-password/ |



