Я пытаюсь настроить ssh-туннель на моем Mac OSX ('osx') до сервера ('target') через временный хост ('gateway'). Этот туннель должен иметь локальный (osx) порт для пересылки, чтобы моя виртуальная машина Windows XP ('vm') могла туннелировать трафик через него (используя проксификатор). Так что в конечном итоге это будет:
vm -> osx -> gateway -> target
Я могу добиться этого успешно с помощью этой командной строки на OSX:
ssh -p 7002 -L 7777:localhost:6677 -t manachi@gateway.tld sh ./tunnel.sh target.tld;;
где tunnel.sh - это скрипт на удаленном шлюзе со следующим:
#!/bin/bash
/usr/bin/ssh -i ~manachi/.ssh/my.id -p 7002 -D 6677 manachi@${1}
Но я пытался настроить это в моем ~/.ssh/config на моем OSX (чтобы я мог просто набрать ' ssh target '), но мне не очень повезло. Мой виртуальный компьютер, кажется, не может туннелировать через туннель OSX. Вот запись конфигурации:
host target
HostName target.tld
Port 7002
User manachi
LocalForward 0:7777 localhost:6677
ProxyCommand ssh gateway nc %h %p
Я не уверен, что я все делаю неправильно. Я не уверен, что LocalForward настроен правильно, или я могу использовать 'nc' в ProxyCommand, например, в качестве замены для удаленной команды 'ssh' в первом решении, но любая помощь или советы приветствуются.