Executando um comando remoto através de um túnel SSH

1

Estou tentando configurar um túnel ssh no meu Mac OSX ('osx') para um servidor ('destino') por meio de um host temporário ('gateway'). Esse encapsulamento precisa ter uma porta local (osx) para frente para que minha VM do Windows XP ('vm') possa encapsular o tráfego através dele (usando o proxy). Então, finalmente, será:

vm -> osx -> gateway -> target

Eu posso conseguir isso com sucesso usando esta linha de comando no osx:

ssh -p 7002 -L 7777:localhost:6677 -t [email protected] sh ./tunnel.sh target.tld;;

em que tunnel.sh é um script no gateway remoto com o seguinte:

#!/bin/bash
/usr/bin/ssh -i ~manachi/.ssh/my.id -p 7002 -D 6677 manachi@${1}

Mas eu tenho tentado configurar isso no meu ~ / .ssh / config no meu osx (para que eu possa digitar ' ssh target '), mas não estou tendo muita sorte. Meu vm parece ser incapaz de fazer um túnel através do túnel osx. Aqui está a entrada de configuração:

host target
HostName target.tld
Port 7002
User manachi
LocalForward 0:7777 localhost:6677
ProxyCommand ssh gateway nc %h %p

Não tenho certeza se estou fazendo tudo errado. Não tenho certeza se o LocalForward está configurado corretamente ou se posso usar 'nc' no ProxyCommand como um substituto para o comando 'ssh' remoto na primeira solução, mas qualquer ajuda ou dicas serão bem-vindas. / p>     

por Manachi 26.10.2012 / 03:45

1 resposta

1

Depois de muito ajustes, experimentos e registros, consegui fazer esse túnel funcionar de ponta a ponta, alterando a linha:

LocalForward 0:7777 localhost:6677

para

DynamicForward 0:7777

Assim, a entrada final de configuração se parece com:

host target
HostName target.tld
Port 7002
User manachi
DynamicForward 0:7777
ProxyCommand ssh gateway nc %h %p

Agora posso apenas digitar

ssh target

E então na minha máquina virtual XP eu posso apontar meu Proxifier para o meu macosxhost: 7777 e todos funcionando perfeitamente!

    
por 26.10.2012 / 09:04