Eu tenho 3 servidores, vamos chamá-los de A, B e C
O servidor C está protegido por um firewall e somente o servidor B pode se conectar a ele. Servidor B e C estão sob meu controle.
Agora eu quero que o servidor A se conecte ao servidor C através do servidor B:
A - > B - > C
O problema é que não posso alterar o comando no servidor A, que provavelmente é apenas um simples usuário ssh @ B.
Estou tentando encaminhar a conexão incomming usando a opção de comando em authorized_keys:
command="ssh user@C" ssh-rsa KEY
Sempre que A faz uma conexão com B, eu posso ver que uma conexão é feita para C, mas A não parece perceber isso e o tempo limite.
Eu tentei adicionar as opções -t, -t -t, -T ou -N ao comando ssh, mas sem sucesso. Existe alguma maneira de prever a conexão ssh de uma maneira que o servidor A acha que ele está se comunicando com o servidor B.
A conexão entre B e C precisa ser acionada quando A faz a conexão com B e fecha quando A fecha a conexão.
Toda a autenticação é feita usando chaves.
[editar]
Para esclarecer:
Eu não posso controlar o comando no servidor A, mas como é agora, A se conecta a B e, em seguida, B abre uma conexão para C. O problema aqui é dat A não reconhece essa nova conexão. Eu acho que não obtém um prompt ou algo assim para que A saiba que existe uma conexão.
Se eu usar essa configuração manualmente com
ssh user@B
funciona e estou logado diretamente no C.