Come configurare il client SSH per usare automaticamente le chiavi private


10

Sono sempre in esecuzione sshcon il -iparametro ed è una seccatura digitare sempre la chiave corretta per qualsiasi host a cui mi sto connettendo.

Esiste un file di configurazione o qualcosa (su Mac) per definire quale chiave privata usare quando ci si connette a un determinato host?

Risposte:


12

Sì, vuoi creare un ~/.ssh/configfile. Ciò consente di definire un nome di collegamento per un host, il nome utente a cui si desidera connettersi e quale chiave utilizzare. Ecco parte della mia, con nomi host offuscati:

Schede host
     Nome host tabs.com
     Usami
     IdentityFile ~ / .ssh / new_rsa

Ospita scm.company.com
     Cap utente
     IdentityFile ~ / .ssh / git_rsa

Organizzazione del progetto
     Nome host 50.56.101.167
     Usami
     IdentityFile ~ / .ssh / new_rsa

Con questo posso dire, ssh tabse connettermi all'host tabs.com come utente me, con chiave new_rsa, come se avessi usato ssh me@tabs.com -i ~/.ssh/new_rsa.


Anche un buon modo di andare se non si desidera utilizzare ssh-agentper qualsiasi motivo.
voretaq7,

Non sapevo che fosse possibile. +1
Safado,

2

I client SSH generalmente usano ~/.ssh/identity(ssh v1) o uno di ~/.ssh/id_rsao ~/.ssh/id_dsa(v2) come chiave privata predefinita. È possibile modificarlo in ~/.ssh/config(il IdentityFileparametro: l' -iopzione SSH ha la precedenza su questo. Vedi i man ssh_configdettagli).

Se hai più chiavi private da utilizzare ssh-agentè probabilmente una scelta migliore.
Vedi man ssh-agentper maggiori dettagli.


+1 per la descrizione delle impostazioni predefinite e per la citazione della pagina man.
pjmorse,

0

Se usi chiavi diverse per server diversi, non penso che ci sia.

Se usi una chiave singola per tutti i server, salvala come ~/.ssh/id_rsa, verrà utilizzata automaticamente.

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.