Tópico semelhante foi discutido em SU :
O openssh em si não entende as variáveis de ambiente socks_proxy
. Você precisa usar, por exemplo, o netcat para direcionar o tráfego pelo proxy:
ssh -o ProxyCommand='nc -X 5 --proxy 127.0.0.1:8088 %h %p' user@host
Para encaminhar solicitações de DNS, isso será mais complicado, porque as funções de baixo nível no openssh não respeitam variáveis ambientais. Você provavelmente precisará configurar seu resolvedor de DNS local, que encaminhará as solicitações ao proxy. Há dns-tcp-socks-proxy , que deve manipular.
./dns_proxy --socks_port=8088 --listen_port=53
Quando você tiver esse daemon rodando, você deve configurar o seu /etc/resolv.conf
(o Mac espera que respeite este) para usar este DNS.
nameserver 127.0.0.1
Teste simples deve ser possível usando dig
novamente, mas quando este resolvedor estiver funcional, você não precisará da parte proxy:
dig example.com
Alternativa como jumpbox:
Como uma alternativa fácil, recomendo usar o host normal como um jumphost, ignorar a parte do proxy e redirecionar o IO usando a opção -W
:
ssh -oProxyCommand="ssh -W %h:%p jumpbox" destination_host
Ele deve fazer o dns resoving e rotear no jumpbox. Esta opção pode ser facilmente incorporada ao seu ~/.ssh/config