2010-03-30 22 views

risposta

4

Dal troubleshooting guide:

Autorizzazione negata (publickey)

Questo di solito è causato quando ssh non riesce a trovare le chiavi. Assicurati che la tua chiave sia nella posizione predefinita, ~/.ssh. Se si esegue nuovamente ssh-keygen e solo premere Invio in tutti e 3 i prompt sarà essere posizionato qui automaticamente. Quindi puoi aggiungere il contenuto di id_rsa.pub a le mie chiavi di gitHub da . Se id_rsa.pub non esegue il lavoro , prova id_dsa.pub. Potrebbe essere necessario generare una nuova chiave dsa con ssh-keygen -t dsa se si ha solo una chiave rsa.

Se si continua ad avere problemi e nessuna delle precedenti ha lavorato, si può avere una chiave lista nera da una debian open-ssh bug. dovresti aggiornare open-ssh e rigenerare le tue chiavi.

Quindi, solo per controllare - le chiavi sono disponibili sotto ~/.ssh/come id_rsa e id_rsa.pub o in altro modo, stai specificando il loro uso?

+0

ho scoperto che prima di pubblicare qui. Ovviamente le mie chiavi sono in ~/.ssh. – Ockonal

+1

Eccellente, quindi, i valori permanenti di quella directory sono impostati su 0600? Sto solo correndo attraverso cose che potrebbero essere sbagliate perché sembra che ssh-agent o ssh non stiano raccogliendo le tue chiavi. –

0

Si noti che ssh-agent è per sessione (per terminale). Utilizzare ssh agent manager come keychain (vedere la relativa documentazione su come configurarlo) per avere accesso tramite qualsiasi sessione (da qualsiasi termine).

12

Dopo aver generato la tasti ssh Ho eseguito il comando elencato di seguito come suggerito da jamesw.

$ ssh-add ~/.ssh/id_rsa 

Ho inserito la mia password. Quindi si è tentato di clonare il repository di heroku. Questa volta ha funzionato bene.

2

Sono riuscito a far funzionare gitlab grazie a questo thread (so che non è github).

Anch'io ho trovato la risposta di @jamesw corretta.

Ho finito per dover cancellare il mio file known_hosts e ricreare la mia chiave ssh con la stessa password del mio account gitlab.

Quindi ho fatto il ssh-add e ho fatto un git push -u origin master. Successo!

Grazie per l'aiuto di tutti.

UPDATE:
ho deciso di rifare la mia chiave ssh senza password e sono imbattuto in questo errore di nuovo.

Questa volta, sono stato in grado di copiare il mio vecchio known_hosts nel nuovo .ssh/ e di eseguire semplicemente il ssh-add.

1

Questo problema si verifica soprattutto per i seguenti motivi:

  • La coppia di chiavi pubblica e privata è sbagliato. Devi verificare la chiave pubblica della chiave sul server/sul tuo account git dove hai inserito la chiave pubblica. Anche un piccolo spazio o scheda comporterà l'errore.
  • Se sei sicuro che la tua chiave pubblica sia corretta, controlla il formato della chiave pubblica nella tua cartella ~/.ssh nella tua macchina. Per openssh non è possibile utilizzare una chiave pubblica nel formato puttygen e viceversa. Per modificare il formato è possibile utilizzare il seguente comando utilizzando la chiave privata

    $ ssh-keygen -e -f ~/.ssh/id_rsa> ~/.ssh/id_rsa_com.pub
    $ ssh-keygen -i - f ~/.ssh/id_rsa_com.pub> ~/.ssh/id_rsa.pub

  • Infine controlla se hai aggiunto le chiavi al client ssh nel tuo sistema. È possibile farlo utilizzando i seguenti comandi

    $ eval "$ (ssh-agent -s)"

    $ ssh-add