Meu cenário:
Eu tenho Server A
em casa e Server B
na casa dos meus pais. Eu também tenho Laptop A
e Laptop B
em casa. Eu faço todos os tipos de saltos ssh estranhos - posso conectar Laptop A -> Server A -> Server B
. Ou Laptop B -> Server A -> Laptop A
. OuServer A -> Server B
Eu tenho chaveiros configurados em todas essas máquinas e, como um bom geek preocupado com a segurança, tenho
eval `keychain --clear`
no meu .zlogin
arquivo.
Meu problema é que mesmo que eu desbloqueie minhas chaves Laptop A
, uma vez conectado a Server A
ele, ele tenta usar o keychain/ssh-agent no Servidor A, então tenho que desbloquearaqueleschaves também. Eu ForwardAgent
também configurei todas essas máquinas. O que eu preferiria que acontecesse é algo assim:
- Logar em
Laptop A
Laptop A
Chaves de desbloqueio- ssh para
Server A
- ssh para
Server B
- usando chaves deLaptop A
.
Como posso fazer isso?
Responder1
Isso não responde diretamente à sua pergunta, mas oferece uma opção alternativa a ser considerada que pode ajudá-lo. Eu normalmente configuro meu $HOME/.ssh/config
arquivo assim:
IdentityFile ~/.ssh/my-computers
# infrastructure
Host lap1
User sam
#PubkeyAuthentication no
ProxyCommand ssh [email protected] nc lap1.internal.local %p
Então, quando eu quiser me conectar ao meu sistema lap1.internal.local quando estiver fora de casa, apenas faço:
ssh lap1
Normalmente, eu ssh-copy-id minhas chaves públicas para outros servidores nos quais desejo fazer login. Deixe-me saber se você gostaria que eu elaborasse.