Post  |  Commenti

Post Meta

23rd
JAN

SSH senza password

1 Star2 Stars3 Stars4 Stars5 Stars (No Ratings Yet)
Loading ... Loading ...

Posted by deepred | Filed under Appunti, Linux

In questo HowTo cercherò di spiegare come è possibile riuscire ad accedere in maniera protetta e sicura ad un sistema remoto senza aver bisogno di digitare password o passphrase. L’HowTo è pensato per utenti KDE.

26openssh.png

Per ottenere tale risultato è innanzitutto necessario adottare un riconoscimento remoto tramite l’uso di chiavi di crittografia. Farlo è molto semplice. Innanzitutto bisognerà lanciare il comando:

ssh-keygen -t dsa

durante l’esecuzione ti sarà chiesto dove salvare la chiave e ti sarà chiesto l’inserimento di una passphrase.

ATTENZIONE: inserisci sempre una passphrase altrimenti sarà possibile per chiunque accedere al tuo computer remoto semplicemente copiando il file appena creato.

Dopo aver generato la propria coppia di chiavi pubbliche e privata, sarà necessario installare la chiave pubblica sul server. Per farlo è possibile usare la notazione seguente:

ssh-copy-id ~/.ssh/id_dsa.pub username@remotebox

sostituendo il primo parametro con il path della chiave pubblica (differente solo se durante la generazione delle chiavi non hai accettato il path suggerito) ed il secondo con il nome della macchina remota a cui vuoi accedere e il nome dell’utente con cui vuoi accedere sulla macchina remota. In tale fase ti sarà chiesta la password usata per eseguire il login di tale utente.

Fatto ciò bisognerà far sì che un agente ssh sia avviato all’avvio di KDE: basterà editare i file

/usr/kde/KDE_VERSION/env/agent-startup.sh

e

/usr/kde/KDE_VERSION/shutdown/agent-shutdown.sh

decommentando le righe corrispondenti al ssh-agent.

A tale agente dovrà essere aggiunta ad ogni avvio di KDE la propria chiave: per farlo inseriamo nella directory Autostart di kde (~/.kde/Autostart) il seguente script

#!/bin/sh
export SSH_ASKPASS=/path/to/ssh_wallet.sh
/usr/bin/ssh-add

Non ci rimane ora che scrivere lo script ssh_wallet.sh che restituisca la passphrase necessaria per accedere alla nostra chiave. Il modo con cui possiamo farlo è attraverso kwallet, il portafoglio delle chiavi di KDE.

Apriamo il gestore dei portafogli (Centro di Controllo -> Sicurezza e Privacy -> Portafogli di KDE -> Avvia il gestore dei portafogli), selezioniamo il portafoglio desiderato e creiamo una cartella “SSH_Agent” (File -> Nuova Cartella), quindi, all’interno della cartella aggiungeremo un valore “SSH” (Tasto destro su Password -> Nuovo), di cui editeremo in contenuto (selezionare voce -> Mostra il contenuto), inserendo la nostra passphrase e salvando.

Inserita la password nel portafoglio non ci rimane che recuperarla agevolmente: questo è quello che fa il seguente script ssh_wallet.sh

#!/bin/bash
handle=`dcop kded kwalletd open "nome_vostro_wallet" kdewalet`
dcop kded kwalletd readPassword $handle "SSH_Agent" "SSH"

E questo è tutto. Basterà riavviare KDE e l’unica password necessaria per accedere ad SSH sarà quella del portafoglio di KDE, necessaria per accedere a qualsiasi password richiesta dalle applicazioni KDE.

Tags: > > > > > > >

Reader's Comments

  1. ZicZac.it, clicca qui e vota questo articolo! |

Leave a Reply


Il contenuto di questo Blog è rilasciato sotto Licenza Creative Commons (Leggi)