J'ai deux clés ssh privées:
- un pour accéder à mes machines personnelles ,
- un pour accéder aux serveurs à mon travail .
J'ajoute ces deux clés à mon agent ssh avec ssh-add
.
Maintenant, lorsque je le fais, ssh -A root@jobsrv
je souhaite transférer l'authentification de l'agent uniquement pour ma clé de travail (celle que j'utilise pour me connecter jobsrv
).
Je le veux parce que toute personne ayant un accès root jobsrv
peut utiliser mon agent pour s'authentifier auprès de mes machines personnelles.
Existe-t-il un moyen de réaliser cet isolement?
ssh -A -i myjobkey_rsa root@jobsrv
permet toujours à la machine jobsrv d'accéder à mon agent machine local et de s'authentifier sur mon serveur personnel avec l'autre clé (personnelle) ...Réponses:
Pour forcer
ssh(1)
à utiliser une clé particulière même si elle enssh-agent(1)
propose plusieurs, utilisez la directiveIdentityFile
etIdentitiesOnly
dans~/.ssh/config
, par exemple:Voir
ssh_config(5)
pour plus de détails.la source
IdentitiesOnly
s'applique lorsque vous essayez de vous connecter au serveur distant. Une fois que vous êtes connecté, si le-A
transfert d'agent est activé, tout le trousseau de clés est transféré.Malheureusement, je pense qu'il n'est pas possible d'y parvenir facilement pour le moment . On pourrait utiliser deux agents (un pour chaque clé) afin qu'il n'y ait aucun agent détenant toutes les clés. Mais ce serait assez lourd à travailler.
C'est pourquoi un rapport de bogue (amélioration) a été ouvert. Il y a aussi ce rapport similaire .
la source