Posso avere più chiavi ssh nella mia cartella .ssh?


30

Posso creare più chiavi SSH e rinominarle in nomi intuitivi in ​​modo da sapere quale chiave è per quale sito Web ecc.

È sicuro?

per esempio:

github_id_rsa
github_id_rsa.pub
..
...

Come farà a sapere su quale chiave verificare quando ci si collega?

Sul mio computer ora, quando guardo known_hosts, sembrano tutti avere la stessa chiave dopo il nome dell'host ??



Inoltre, le chiavi host conosciute non sono sicuramente le stesse, basta guardare le estremità delle linee per ciascun host.
slhck,

Risposte:


15

Sì, puoi avere diversi tasti ssh. C'è un'ottima documentazione sul sito della Guida di GitHub su Help.GitHub - Più chiavi SSH . Fondamentalmente userete ssh-add per aggiungere le chiavi extra in modo che l'agente possa utilizzarle. Quindi si configura la configurazione degli host ssh in modo che tutte le connessioni ssh a domini diversi vengano ricercate qui e venga utilizzata la chiave appropriata. in bocca al lupo!


1
Il link non funziona più
danwellman,


44

È possibile modificare il file ~ / .ssh / config per utilizzare file di identità diversi per server diversi. Modifica ~ / .ssh / config nel tuo editor preferito e aggiungi una voce adatta alla tua situazione in questo modo:

Host *
IdentityFile ~/.ssh/id_rsa

Host *.github.*
IdentityFile ~/.ssh/github_id.rsa

Host *.someother.com
IdentityFile ~/.ssh/someother_id.rsa

La prima parte sopra imposta i valori predefiniti per tutti gli host e le altre sezioni sovrascrivono ciò che dovrebbe essere usato per ciascuno degli host che corrispondono ai pattern. Se si dispone di un nome utente diverso per ciascuno degli host, è possibile aggiungere alla sezione una chiave utente seguita dal nome utente sul telecomando.


3
Questa è la risposta più utile a questa domanda indipendentemente dalla destinazione sia GitHub o altri siti.
Pierre,

Questo non funziona se si dispone di più account bitbucket e, purtroppo, è necessario disporre di chiavi diverse per ciascuno.
John Little

chmod 400 ~/.ssh/id_rsao chmod 400 ~/.ssh/foo_id.rsapotrebbe essere necessario.
T.Woody,

@JohnLittle Dai un'occhiata alla mia risposta che risolve l'account multiutente per lo stesso dominio.
Sathishkumar Rakkiasamy,

4

È possibile impostare più chiavi SSH per qualsiasi sito con più account utente

Di seguito è riportato l'esempio che seguivo nel mio sviluppo per GitHub.com

Esempio di file di configurazione

#Personal account
 Host github.com-<personal-account-name>
 HostName github.com
 User git
 IdentityFile ~/.ssh/id_rsa_personal
 IdentitiesOnly yes



#Organization account
 Host github.com-<organization-name>
 HostName github.com
 User git
 IdentityFile ~/.ssh/id_rsa_work
 IdentitiesOnly yes

Al momento di aggiungere una nuova origine

Per account personale

git remote add origin git@github.com-<personal-account-name>:<personal-account-name>/<repo-name>.git

Per account dell'organizzazione

git remote add origin git@github.com-<organization-name>:<organization-name>/<repo-name>.git

Spero che sia d'aiuto.

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.