ProxyCommand não é o mesmo que usar ssh server_b ssh server_a
. Ele permite que o segundo ssh
client execute localmente e simplesmente fale o protocolo SSH por meio de um túnel.
Assim, você não precisa de nenhum parâmetro de encaminhamento para o host de salto, somente para a conexão final:
Host server_a
ProxyCommand ssh -W %h:%p server_b
RemoteForward 6880 server_c:6880
Host server_b
# no RemoteForward
# no ForwardAgent, either!
Além disso, se você atualizar seu cliente OpenSSH local para 7.3 ou posterior, poderá usar a opção -J
(também conhecida como ProxyJump) como um atalho. Por exemplo, isso é igual à configuração acima:
Host server_a
ProxyJump server_b
RemoteForward 6880 server_c:6880
O mesmo na linha de comando:
$ ssh -R 6880:server_c:6880 -J server_b server_a