Viene visualizzata la finestra di dialogo Password per la chiave privata SSH senza password

3

Ho installato la mia chiave privata SSH in ~ / .ssh / id_rsa. C'è nessuna frase di accesso associata alla chiave, tuttavia, ogni volta che mi collego a un server SSH, viene visualizzata una finestra di dialogo che mi chiede di inserire la mia password per accedere al file id_rsa.

Se cancello la finestra di dialogo o inserisco una passphrase vuota e clicco su OK, Terminal mi suggerisce una passphrase.

Ho verificato che la chiave è valida e non richiede una password connettendosi con la stessa chiave tramite altri computer.

Qualcosa di strano sul mio particolare assetto sta causando il problema ma non riesco a capirlo. Attualmente sto usando OSX 10.7.1 ma lo stesso problema si stava verificando con OSX 10.6.8

    
posta JeremyT 12.09.2011 - 19:11
fonte

3 risposte

2

Ho avuto lo stesso problema. Tuttavia, quando viene generata una nuova chiave privata senza password, utilizzando il seguente comando:

ssh-keygen -b 1024 -t rsa -f id_rsa -P ""

Non ho più visualizzato la richiesta della password.

Inoltre, ssh-add non è riuscito ad aggiungere la vecchia chiave, ma ha aggiunto quella nuova come previsto.

Ho generato la vecchia chiave su Leopard nel 2009, usando la versione di OpenSSL che avevo afferrato, costruito e installato in quel momento (che Mac è morto, quindi non posso accedere e controllare cosa stavo correndo). Qualcosa su quella chiave era incompatibile con le librerie SSL native di Lion.

Ho eseguito il backup della mia vecchia chiave, quindi se qualcuno vuole suggerire alcuni controlli, per identificare le proprietà specifiche della chiave, lasciami cosa controllare e ti riporto.

Un altro indizio - ho notato che il mio vecchio file id_rsa.pub aveva attributi estesi. per esempio i flag di permessi erano simili a r -------- @ invece di r --------

xattr -l id_rsa.pub.old

tornato:

com.macromates.caret: {
    column = 0;
    line = 1;
}

cruft rimasto da TextMate. Non so se rimuoverlo avrebbe risolto il problema senza dover sostituire la chiave. Penso che sia improbabile.

Nel caso in cui tu (futuro lettore) stia vedendo la stessa cosa, puoi rimuovere l'attributo esteso come segue:

 xattr -d com.macromates.caret id_rsa.pub.old

Puoi impedire a TextMate di aggiungerli prima di uscire da TextMate e quindi di inviare questo comando:

defaults write com.macromates.textmate OakDocumentDisableFSMetaData 1
    
risposta data 30.11.2011 - 19:22
fonte
1

Per quanto mi riguarda, ho trovato che alcuni suggerimenti o imperfezioni nel file di chiavi possono causare questo prompt. L'ultimo per me è stato questo:

-----BEGIN RSA PRIVATE KEY----- ... -----END RSA PRIVATE KEY-----

Nota lo spazio extra lì. Ciò stava facendo apparire questa bizzarra richiesta di password su questa chiave senza password.

    
risposta data 04.09.2015 - 04:57
fonte
0

Le versioni precedenti dell'utilità ssh richiedono una passphrase ogni volta che non è in grado di interpretare il file chiave. Se ssh richiede una passphrase su un file chiave che non dovrebbe averne uno, probabilmente significa che il file chiave è corrotto in qualche modo.

$ dd if=/dev/urandom of=randokey bs=1024 count=1
1+0 records in
1+0 records out
1024 bytes (1.0 kB) copied, 0.000380502 s, 2.7 MB/s
$ chmod 600 randokey
$ ssh -i randokey localhost
Enter passphrase for key 'randokey':

I manutentori di OpenSSH hanno migliorato questo comportamento a un certo punto. La versione di ssh fornita con macOS High Sierra conosce la differenza tra una chiave crittografata e una chiave corrotta:

$ ssh -i randokey localhost
Load key "randokey": invalid format
Password: ^C

$ ssh -V
OpenSSH_7.6p1, LibreSSL 2.6.2
$ uname -a
Darwin [hostname] 17.4.0 Darwin Kernel Version 17.4.0: Sun Dec 17 09:19:54 PST 2017; root:xnu-4570.41.2~1/RELEASE_X86_64 x86_64
    
risposta data 08.02.2018 - 22:22
fonte

Leggi altre domande sui tag