.ssh / config: "Opzione di configurazione errata: UseKeychain" su Mac OS Sierra 10.12.6


94

Sto cercando di impostare la mia configurazione ssh sul Mac (Mac OS Sierra 10.12.6) in modo tale da memorizzare la passphrase per la mia chiave ssh nel portachiavi. In precedenza potevo farlo con

ssh-add -K ~/.ssh/id_rsa

Ma recentemente questo non sembra funzionare più. A seguito di questo articolo sembra esserci un cambiamento nel comportamento della configurazione ssh in Mac OS> 10.12.2 e il modo consigliato per risolvere questo problema è aggiungere UseKeychain yesalla configurazione ssh. Quindi ecco la mia .ssh/configsezione Host *:

Host *
  Port 22
  ServerAliveInterval 60
  ForwardAgent yes
  IdentityFile ~/.ssh/id_rsa
  AddKeysToAgent yes
  UseKeychain yes

Quando provo a eseguire ssh su un host esterno, ricevo il seguente messaggio di errore:

$ ssh my-host
/Users/USER/.ssh/config: line 16: Bad configuration option: usekeychain

Qualche idea sul perché questo accada e su come posso risolverlo? Grazie!

Risposte:


176

Prova a specificare un'altra opzione, vale IgnoreUnknowna dire come di seguito:

Host *
  IgnoreUnknown UseKeychain
  UseKeychain yes

Puoi trovare maggiori informazioni su questo qui .

Se hai già un IgnoreUnknownvalore, utilizza valori separati da virgole

Host *
  IgnoreUnknown AddKeysToAgent,UseKeychain
  AddKeysToAgent yes
  UseKeychain yes

2
Ignora ssh -F /dev/null ...temporaneamente il file di configurazione , funziona per me.
Itachi

1
L'aggiunta IgnoreUnknown UseKeychainancora non funziona per me, quindi rimuovo UseKeychain yescompletamente e funziona. Non sono sicuro che questo sia l'approccio migliore però.
Hank Chan

Questa soluzione ha funzionato per me ma non capisco perché questo cambiamento all'improvviso? Sto solo accedendo al mio account DigitalOcean.
anjanesh

Ho rimosso tutte le opzioni e ho lasciato Host e IdentityFile. Github dice di usare queste opzioni ma non funzionano nemmeno per me. Grazie.
Natus Drew

54

La risposta accettata mi ha aiutato ma non ha risolto completamente il mio problema perché avevo più opzioni che erano cattive. Ecco un esempio di come potrebbe apparire se hai questo problema:

Host *
  IgnoreUnknown AddKeysToAgent,UseKeychain
  AddKeysToAgent yes
  UseKeychain yes
  IdentityFile ~/.ssh/id_rsa

Voglio solo lasciare questo qui: ho avuto problemi anche a connettermi da remoto e questo si è rivelato essere il problema. Il problema è stato generato utilizzando lo strumento Sourcetree di Bitbucket, che ho disinstallato ma ha lasciato residui che impedivano la connessione remota
Connor

Grazie! Ha lavorato su MacOS mojave 10.14.6
brendan il

Perché funziona? Ho avuto lo stesso problema e questa risposta lo ha risolto, ma ancora non so perché ha funzionato o perché ho avuto il problema in primo luogo ..
Nishant Mehta

2

Ho appena commentato la riga e scp / ssh ha iniziato a lavorare di nuovo per me.


1

Invece di ssh-add digita "open .ssh / id_rsa" e aggiungilo al portachiavi

L'opzione UseKeychain non è mai apparsa così male sulla mia configurazione, ma all'inizio, prima di qualsiasi altro host, ho il seguente

Host *
UseKeychain yes 

Host (...)

Cordiali saluti, penso che sia l'ordine sbagliato. Se lo scrivi in ​​questo modo, le tue *regole verranno ignorate. man ssh_configdice: "Poiché viene utilizzato il primo valore ottenuto per ogni parametro, dovrebbero essere fornite più dichiarazioni specifiche dell'host all'inizio del file e le impostazioni predefinite generali alla fine."
Telemaco

Cordiali saluti, ho avuto così per quasi un decennio con dozzine di server e non ho mai avuto problemi. Mi ssh su così tanti server ogni giorno. Tuttavia, se qualcuno trova un problema di vita reale con quella configurazione, forse sarà quello allora.
Ricardo Mendes

0

È la -K maiuscola prova con -k minuscola !!

ssh-add -k ~/.ssh/id_rsa

Enter passphrase for /Users/tom/.ssh/id_rsa:
Identity added: /Users/tom/.ssh/id_rsa (/Users/tom/.ssh/id_rsa)

ssh-addha l' -Kopzione almeno su macOS. man ssh-add:-K When adding identities, each passphrase will also be stored in the user's keychain. When removing identities with -d, each passphrase will be removed from it.
uasi

0

Ho avuto lo stesso problema e mi sono reso conto che quando ho iniziato a generare la chiave seguendo le istruzioni. Il primo passo è questo.

ssh-keygen -t rsa -b 4096 -C "your_email@example.com"

Non ho cambiato l'indirizzo email ma ovviamente mi sono dimenticato di farlo: D. Quindi assicurati di non dimenticare quel passaggio e tutto andrà bene.

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.