De acordo com Na entrada SuperUser , da versão 7.3p1, existe uma diretiva Include
, para que você possa criar um arquivo de configuração que inclua sua configuração "regular", mas tenha todas as entradas ProxyCommand
. Dessa forma, se você especificar esse arquivo, as conexões de proxy funcionarão, se você omitir a opção -F
, a configuração padrão será lida da seguinte forma:
~/.ssh/config
:
Host ansible
User ubuntu
Hostname xxx.compute.amazonaws.com
~/.ssh/proxyconfig
:
Include config
Host app
User ubuntu
Hostname 10.0.2.40
ProxyCommand ssh -W %h:%p ansible
Se você tiver configurações como acima, você pode usar
ssh -F proxyconfig app
para alcançar o servidor "app".
Se você não conseguir instalar a versão mencionada no computador cliente, poderá especificar o ProxyCommand
na linha de comando, sem precisar de um arquivo de configuração separado, como este:
ssh -o ProxyCommand='ssh -W %h:%p ansible' app
Como é um pouco desconfortável escrever o comando todo toda vez, você pode querer criar um alias para o comando, ou - se quiser acessar mais computadores por proxy - uma função, como esta:
function proxyssh {
# The first argument is the 'stepping stone',
# the second is the target to ssh into
ssh -o proxyCommand="ssh -W %h:%p $1" $2
}
e use-o como
proxyssh ansible app