Soluzione 1:
La stessa chiave SSH dovrebbe poter essere utilizzata da più client. Ho chiavi SSH diverse per reti diverse e in realtà sono archiviate su un'unità USB crittografata che utilizzo da diversi computer senza problemi.
SSH è molto esigente riguardo ai permessi dei file, quindi prima controllerei tutti i permessi da /home/{user}
fino al id_rsa
file stesso.
SSH non si preoccupa davvero dei permessi di scrittura di gruppo o mondiali, quindi assicurati di chmod go-w
la tua home directory e il ~/.ssh
directory per i principianti. Mi assicurerei anche che siano di proprietà del tuo utente chown ${USER}:${USER}
.
Per la chiave SSH stessa ho chmod 600
loro...
Se vuoi, ho ulteriori informazioni su come gestisco le mie chiavi SSH nella mia risposta a un'altra domanda SSH.
Soluzione 2:
Se ricevi l'autorizzazione negata dalla fine di Github, è possibile che non rilevi il file della chiave SSH copiato, ma piuttosto l'impostazione predefinita del sistema. Un modo semplice per aggirare questo problema è quello di ottenere un ~/.ssh/config
file e inserisci quanto segue:
Host github.com
Hostname github.com
User git
IdentityFile ~/.ssh/yourkeyfile
Questo costringerà il tuo client SSH a utilizzare quella chiave solo per github.com.
Spero che questo aiuti.
Soluzione 3:
So che questo è vecchio, ma ho pensato di sottolineare che devi anche copiare il pubblico chiave al secondo client
(o ricalcolalo con ssh-keygen -y -f ~/.ssh/id_rsa_..> ~/.ssh/id_rsa...pub)
Da [1]:
Metodo di autenticazione a chiave pubblica:"publickey"
L'unico "nome del metodo" di autenticazione RICHIESTO è "chiave pubblica"
autenticazione. Tutte le implementazioni DEVONO supportare questo metodo;
tuttavia, non tutti gli utenti devono disporre di chiavi pubbliche e la maggior parte locali
è improbabile che le politiche richiedano l'autenticazione a chiave pubblica per tutti
utenti nel prossimo futuro.Con questo metodo, il possesso di una chiave privata funge da
autenticazione. Questo metodo funziona inviando una firma creata
con una chiave privata dell'utente. Il server DEVE verificare che la chiave
è un autenticatore valido per l'utente e DEVE verificare che il file
la firma è valida. Se entrambi sono validi, la richiesta di autenticazione DEVE essere
accettato; in caso contrario, DEVE essere rifiutato. Si noti che il server MAGGIO
richiedono autenticazioni aggiuntive dopo l'autenticazione riuscita.
Il tuo client ssh inizia l'autenticazione inviando la chiave pubblica (la firma a cui si fa riferimento in grassetto sopra) al server. Il server, se la chiave pubblica è una chiave autorizzata, invia un ID di sessione casuale al tuo client. Il tuo client quindi codifica l'ID di sessione con la chiave privata e lo invia al server. Il server decodifica quell'ID di sessione utilizzando la chiave pubblica e, se corrisponde all'ID di sessione originale, autentica il tuo client.
[1] [http://www.openssh.org/txt/rfc4252.txt][1]