Tengo dos claves ssh privadas:
- uno para acceder a mis máquinas personales ,
- uno para acceder a los servidores en mi trabajo .
Agrego esas dos claves a mi ssh-agent con ssh-add
.
Ahora, cuando lo haga, ssh -A root@jobsrv
me gustaría reenviar la autenticación del agente solo para mi clave de trabajo (la que estoy usando para conectarme jobsrv
).
Quiero esto porque cualquiera que tenga acceso de root jobsrv
puede usar mi agente para autenticarse en mis máquinas personales.
¿Hay alguna manera de lograr este aislamiento?
ssh -A -i myjobkey_rsa root@jobsrv
todavía permite que la máquina jobsrv acceda a mi agente de máquina local y se autentique en mi servidor personal con la otra clave (personal) ...Respuestas:
Para forzar el
ssh(1)
uso de una clave en particular, incluso sissh-agent(1)
ofrece varias, use la directivaIdentityFile
yIdentitiesOnly
en~/.ssh/config
, por ejemplo:Ver
ssh_config(5)
para más detalles.fuente
IdentitiesOnly
se aplica cuando intenta conectarse al servidor remoto. Una vez que esté conectado, si el-A
reenvío de agente está habilitado, se reenvía todo el conjunto de claves.Desafortunadamente, creo que no es posible lograr esto fácilmente en este momento . Se podrían usar dos agentes (uno para cada clave) para que no haya ningún agente que tenga todas las claves. Pero sería bastante engorroso trabajar con él.
Es por eso que se ha abierto un informe de error (mejora). Existe este informe similar también.
fuente