Comment configurer le client ssh pour utiliser automatiquement les keys privées

Je suis toujours en train d'exécuter ssh avec le paramètre -i et c'est un souci de toujours taper la touche correcte pour n'importe quel hôte auquel je me connecte.

Existe-t-il un file de configuration ou quelque chose (sur Mac) pour définir la key privée à utiliser lors de la connection à un hôte particulier?

Oui, vous souhaitez créer un file ~/.ssh/config . Cela vous permet de définir un nom de raccourci pour un hôte, le nom d'user auquel vous souhaitez vous connecter et la key à utiliser. Voici la mienne, avec des noms d'hôtes obscurs:

 Onglets de l'hôte
      HostName tabs.com
      Utilise moi
      IdentityFile ~ / .ssh / new_rsa

 Hôte scm.company.com
      Cap de l'user
      IdentityFile ~ / .ssh / git_rsa

 Projet d'accueil par projet
      HostName 50.56.101.167
      Utilise moi
      IdentityFile ~ / .ssh / new_rsa

Avec cela, je peux dire, ssh tabs et se connecter à host tabs.com comme user me , avec la key new_rsa , comme si j'avais utilisé ssh me@tabs.com -i ~/.ssh/new_rsa .

Les clients SSH utiliseront généralement ~/.ssh/identity (ssh v1) ou l'un des ~/.ssh/id_rsa ou ~/.ssh/id_dsa (v2) en tant que key privée par défaut. Vous pouvez modifier cela dans ~/.ssh/config (le paramètre IdentityFile – l'option -i à SSH en fait le surpasse. Voir man ssh_config pour plus de détails).

Si vous avez plusieurs keys privées pour traiter l'utilisation de ssh-agent c'est probablement un meilleur choix.
Voir man ssh-agent pour plus de détails.

Si vous utilisez différentes keys pour différents servers, je ne pense pas qu'il existe.

Si vous utilisez une seule key pour tous les servers, enregistrez-le simplement comme ~/.ssh/id_rsa , il sera utilisé automatiquement.