ssh -A non abilita correttamente l'inoltro della connessione dell'agent di autenticazione

17

Adoro ssh -A , che mi permette di usare la mia chiave ssh locale quando stabilisco una connessione da un server remoto. Ad esempio, I ssh -A host1.example.com e poi da lì posso ssh host2.example.com (o usare git) e usa la mia chiave ssh dalla macchina originale, che in questo caso dovrebbe essere il mio mac. Anche se questo ha sempre funzionato per me su Debian / Ubuntu, non funziona sul mio nuovo Mac (Lion).

Cosa mi manca qui? Come posso configurare ssh affinché funzioni correttamente con -A? Ho bisogno di un ssh che non sia quello standard di MacOS?

    
posta rfay 17.01.2012 - 00:21
fonte

3 risposte

29

In realtà, la risposta molto semplice è che devi eseguire

ssh-add

e poi tutto funziona.

Fondamentalmente, macOS ha già impostato ssh-agent per te, ma dopo ogni riavvio devi aggiungere le tue chiavi. ssh-add fornisce a ssh-agent l'accesso alle tue chiavi per il ciclo di avvio corrente. Dovrai inserire la password per la tua chiave privata se ne hai creata una.

    
risposta data 18.01.2012 - 01:29
fonte
1

Il concetto alla base di ssh -A sono agenti ssh. Esse vengono eseguite in background e tramite l'uso di variabili di ambiente è possibile individuare l'agente e utilizzarlo automaticamente per l'autenticazione quando si accede ad altre macchine tramite ssh. Dai un'occhiata alla pagina di manuale di ssh-agent per maggiori dettagli.

Con Mac OS X, ssh-agent deve essere avviato su richiesta.

Per maggiori informazioni vedi:

risposta data 17.01.2012 - 23:52
fonte
1

A partire da OS X 10.8 devi farlo una volta:

sudo touch /var/db/useLS

E aggiungilo come parte del tuo ~/.bash_profile :

if [ -f ~/.ssh/id_rsa ]; then
    ssh-add -K ~/.ssh/id_rsa 2>/dev/null
fi

Nota: questa ricetta fa parte dei miei bedouin script.

    
risposta data 18.01.2013 - 12:51
fonte

Leggi altre domande sui tag