Estoy tratando de configurar un túnel ssh en mi Mac OSX ('osx') a un servidor ('objetivo') a través de un host provisional ('puerta de enlace'). Este túnel debe tener un puerto local (osx) hacia adelante para que mi VM de Windows XP ('vm') pueda hacer un túnel del tráfico a través de él (usando proxifier). Así que finalmente será:
vm -> osx -> gateway -> target
Puedo lograr esto con éxito usando esta línea de comando en osx:
ssh -p 7002 -L 7777:localhost:6677 -t [email protected] sh ./tunnel.sh target.tld;;
donde tunnel.sh es un script en la puerta de enlace remota con lo siguiente:
#!/bin/bash
/usr/bin/ssh -i ~manachi/.ssh/my.id -p 7002 -D 6677 manachi@${1}
Pero he estado tratando de configurar esto en mi ~ / .ssh / config en mi osx (para que pueda escribir ' ssh target ') pero no tengo mucha suerte. Mi vm parece no poder hacer un túnel a través del túnel osx. Aquí está la entrada de configuración:
host target
HostName target.tld
Port 7002
User manachi
LocalForward 0:7777 localhost:6677
ProxyCommand ssh gateway nc %h %p
No estoy seguro de si voy a hacer todo esto mal. No estoy seguro de si LocalForward está configurado correctamente, o si puedo usar 'nc' en ProxyCommand así como reemplazo del comando remoto 'ssh' en la primera solución, pero agradecería cualquier ayuda o sugerencia.
fuente
ssh target
, va a escribirssh gateway
y su archivo de configuración osx debe tener una entrada paragateway
, notarget
.Respuestas:
Después de muchos ajustes, experimentos y registros, logré que este túnel funcionara de extremo a extremo cambiando la línea:
a
Entonces la entrada de configuración final se ve así:
Ahora solo puedo escribir
Y luego, en mi máquina virtual XP, puedo apuntar mi Proxifier a mi macosxhost: 7777 y ¡todo funciona perfectamente!
fuente