Mi escenario:
Tengo Server A
en casa, y Server B
en casa de mis padres. Yo también tengo Laptop A
y Laptop B
en casa. Hago todo tipo de saltos ssh extraños; podría conectarme Laptop A -> Server A -> Server B
. O Laptop B -> Server A -> Laptop A
. OServer A -> Server B
Tengo un llavero configurado en todas estas máquinas y, como buen experto en seguridad, tengo
eval `keychain --clear`
en mi .zlogin
expediente.
Mi problema es que aunque desbloqueo mis claves en Laptop A
, una vez que me he conectado, Server A
intento usar el llavero/agente ssh en el servidor A, así que tengo que desbloquearaquellosllaves también. También configuré ForwardAgent
todas estas máquinas. Lo que preferiría que sucediera es algo como esto:
- Iniciar sesión en
Laptop A
- Desbloquear
Laptop A
llaves - ssh a
Server A
- ssh para
Server B
usar claves deLaptop A
.
¿Cómo puedo hacer esto?
Respuesta1
Esto no responde directamente a su pregunta, pero le brinda una opción alternativa a considerar que puede ayudarlo. Normalmente configuro mi $HOME/.ssh/config
archivo así:
IdentityFile ~/.ssh/my-computers
# infrastructure
Host lap1
User sam
#PubkeyAuthentication no
ProxyCommand ssh [email protected] nc lap1.internal.local %p
Luego, cuando quiero conectarme a mi sistema lap1.internal.local cuando estoy fuera de casa, simplemente hago lo siguiente:
ssh lap1
Normalmente copio ssh-id mis claves públicas a otros servidores en los que quiero iniciar sesión. Déjame saber si quieres que te dé más detalles.