Utilizzo delle chiavi private crittografate PKCS # 8 con ssh-agent

7

Sto configurando un nuovo sistema Ubuntu (12.04.2 LTS) per lo sviluppo di Rails e volevo usare una chiave privata SSH crittografata come questo articolo . Posso configurare una coppia di chiavi ssh standard usando le istruzioni su GitHub e tutto funziona bene, ma quando seguo le istruzioni nel primo articolo non posso più usare ssh per accedere. Invece, ho l'errore "L'agente ha ammesso l'errore di firmare usando la chiave". Ho trovato un bug (impossibile pubblicare il link b / c di bassa reputazione, # 328127) che potrebbe essere correlato; Non mi viene richiesta la passphrase della chiave privata, quindi il fatto che ho modificato la chiave privata dopo la creazione potrebbe essere il problema. Il tentativo di aggiungere manualmente la nuova chiave utilizzando ssh-add ha come risultato che l'errore viene restituito due volte. Non sono sicuro di come impostare $SSH_AUTH_SOCK a zero, altrimenti proverei anche quello. Qualsiasi aiuto sarebbe molto apprezzato, grazie!

    
posta orenyk 05.06.2013 - 22:34

3 risposte

4

Disattivare SSH_AUTH_SOCK è una soluzione, ma così facendo disattiva ssh-agent, che alcune persone potrebbero ancora voler utilizzare.

Sembra che ssh-agent non possa firmare nulla con la chiave privata perché non la decrittografa correttamente quando aggiunge automaticamente questa chiave al portachiavi.

Se uno genera il file di identità id_rsa standard in ~ / .ssh, o memorizza una chiave privata insieme alla sua chiave pubblica in ~ / .ssh, ssh-agent lo aggiunge automaticamente al suo portachiavi. Ma quando lo fa, non richiede una passphrase, non decodifica mai la chiave.

La soluzione è aggiungere la chiave manualmente. Rimuovi tutte le chiavi crittografate pkcs # 8 dal ssh-agent usando ssh-add -D e sposta i file privati ​​+ chiave pubblica da ~ / .ssh. riavvia o ssh-agent -k, quindi sposta indietro il tuo tasto PRIVATO crittografato pkcs # 8 su ~ / .ssh. Usando ssh-add, viene richiesta la passphrase di decifrazione. ssh-agent può ora accedere alla chiave privata non crittografata e quindi firmare cose con essa.

(via Damon Dransfeld )

    
risposta data Shnatsel 08.06.2013 - 22:32
0

Ci scusiamo per la risposta rapida, la correzione $SSH_AUTH_SOCK ha funzionato per me; Ho trovato istruzioni in un'altra discussione bug . Nel caso in cui qualcun altro sia bloccato, digitando export SSH_AUTH_SOCK=0 si risolve il problema. Spero che ti aiuti!

    
risposta data orenyk 06.06.2013 - 19:52
0

Un'altra cosa che puoi fare, se preferisci, è sostituire il Key Agent di GNOME SSH con quello fornito da OpenSSH, quindi aggiungere di nuovo tutte le tue chiavi, come descritto in questo articolo .

    
risposta data k0ryfi 05.05.2014 - 03:17

Leggi altre domande sui tag