Acho que você tem dois problemas.
1) configuração de uma única conexão ssh que passa pelo host bastion.
Este é basicamente o mesmo problema que Como eu faço transferências SCP Multihop? então leia isso primeiro.
2) Agora que você sabe como lidar com isso na linha de comando de forma mais transparente, você precisa configurá-lo para que isso aconteça sem as opções de CLI.
Configure um arquivo ~/.ssh/config
para o usuário que faz o ssh'ing. (Quase?) Tudo o que você pode especificar na linha de comando ssh, você pode especificar no arquivo de configuração.
Para isso, você gostaria de algo ao longo das linhas:
host www.example.com
port 4188
forwardagent yes
host virt-host.internals.int
proxycommand ssh www.example.com nc virt-host.internals.int 8854
Eu não testei isso, então a sintaxe pode estar desativada, mas você deve ir na direção certa.
Observe que você pode resolver o nome virt-host.internals.int da máquina cliente original. Isso pode não ser o caso (somente para dns internos), caso em que você terá que kludge de alguma forma (por exemplo, /etc/hosts
, usando ip em vez de hostname, etc).