Je pense que c'est normal. L'agent connaît déjà quelques clés. Alors -i
est une option de ssh
cela n'affecte pas directement l'agent. Quand on lui demande, ssh
peut ajouter une clé à l'agent, mais il n'existe aucun moyen direct de supprimer des clés ou de modifier leur ordre. De plus, l'agent est conçu pour servir de nombreux clients. Certains d'entre eux peuvent avoir besoin des clés que vous voulez "cacher" de cet agent particulier. ssh
connexion. Vous avez besoin d'une approche quelque peu différente.
Exécutez le programme local ssh
comme un sous-processus d'un dédié agent et laisser ssh
ajouter la clé souhaitée à l'agent. De cette façon, la clé sera la seule connue de l'agent concerné. Les processus qui utilisent l'agent général (le cas échéant) ne seront pas affectés.
ssh-agent ssh -A -tt -o AddKeysToAgent=yes -i ~/.ssh/id_rsa_github user@ip 'ssh -T git@github.com'
En man 1 ssh-agent
:
command [arg ...]
Si une commande (et des arguments facultatifs) est donnée, elle est exécutée en tant que sous-processus de l'agent. L'agent se termine automatiquement lorsque la commande donnée sur la ligne de commande se termine.
[ ]
[ ] L'agent lance une commande sous laquelle ses variables d'environnement sont exportées [ ].
[ ]
[ ] ssh(1)
examine ces variables d'environnement et les utilise pour établir une connexion avec l'agent.
L'agent ne dispose initialement d'aucune clé privée. Les clés sont ajoutées en utilisant ssh-add(1)
ou par ssh(1)
cuando AddKeysToAgent
est fixé dans ssh_config(5)
. [ ]
En man 1 ssh
:
-o option
Peut être utilisé pour donner des options dans le format utilisé dans le fichier de configuration.
En man 5 ssh_config
:
AddKeysToAgent
Indique si les clés doivent être automatiquement ajoutées à un programme en cours d'exécution. ssh-agent(1)
. Si cette option est réglée sur yes
et une clé est chargée à partir d'un fichier, la clé et sa phrase de passe sont ajoutées à l'agent avec la durée de vie par défaut, comme si par ssh-add(1)
.