Come posso cancellare le voci di ssh-agent (su Mac OS X)?


60

Sto eseguendo Mac OS X e sembra che dopo SSHing su più macchine, usando i file di identità, il mio 'ssh-agent' costruisca molte identità / chiavi e quindi a volte ne offre troppe a una macchina remota, causandole a avviami prima di connetterti:

Disconnessione ricevuta dal 10.12.10.16: 2: troppi errori di autenticazione per cwd

È abbastanza ovvio cosa sta succedendo e questa pagina ne parla in modo più dettagliato:

I server SSH ti consentono di tentare di autenticarti solo un certo numero di volte. Ogni tentativo fallito di password, ogni pubkey / identità che viene offerto, ecc., Riprende uno di questi tentativi. Se si dispone di molte chiavi SSH nel proprio agente, è possibile che un server SSH possa eliminarti prima di consentirti di tentare l'autenticazione della password. In questo caso, esistono diverse soluzioni alternative.

Il riavvio cancella l'agente e quindi tutto funziona di nuovo OK. Posso anche aggiungere questa riga al mio .ssh/configfile per forzarlo a utilizzare l'autenticazione con password:

PreferredAuthentications keyboard-interactive,password

Ad ogni modo, ho visto la nota sulla pagina a cui ho fatto riferimento parlando dell'eliminazione delle chiavi dall'agente, ma non sono sicuro che ciò si applichi su un Mac poiché sembrano comunque cancellati dopo il riavvio.

C'è un modo semplice per cancellare tutte le chiavi in ​​'ssh-agent' (la stessa cosa che succede al riavvio)?

Risposte:


97

Le tue chiavi SSH non dovrebbero essere aggiunte automaticamente all'agente solo perché hai SSH su un server ...

Esegui ssh-add -lper elencare le chiavi dell'agente, ssh-add -Dper ripulire tutte le chiavi.


Forse ha qualcosa a che fare con la configurazione dell'OSX? Se scrivo ssh-add -lnon ottengo nulla. Se digito ssh -i ~/keyFileLocation.dsa un@remotehostottengo una finestra di dialogo popup OS X che richiede la passphrase. Lo digito e poi mi connette. Se mi disconnetto e poi digito ssh-add -l, mi mostra l'identità che ho appena usato. Dopo aver riavviato il computer e digitato ssh-add -l, è di nuovo vuoto. ssh-add -Dha funzionato alla grande per cancellare i tasti senza riavviare. Grazie!
Cwd,

Quattro anni dopo e questo è ancora un problema, ma questa correzione funziona ancora - grazie
jnunn

Ehi, puoi guidarmi per questo, per favore? superuser.com/questions/951002/…
Niks

4
Sbagliato (nel 2017): vedi l' AddKeysToAgentopzione di configurazione, progettata allo scopo esplicito di aggiungere le tue chiavi SSH all'agente solo perché hai SSH su un server.
Radon Rosborough,

1

Un altro modo per limitare ciò su cui vengono verificate le chiavi è quello di aggiungere IdentitiesOnly yese IdentityFile ~/.ssh/<nameofkey>al tuo /.ssh/configfile.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.