我正在尝试直接使用 ssh 命令创建隧道。当我执行以下配置时,我的场景运行良好
主机:A 通行证:** Putty 中的隧道部分:6001:HostXX:22 立即打开此会话
使用 127.0.0.1 端口 6001 和 Putty 中 HOSTXX 隧道部分的用户名/密码登录:20333:DBHOST:54666
当我为两个会话单独启动腻子会话时,这很有效。
我正在尝试寻找一个解决方案,可以使用一个 ssh 命令直接进行此隧道连接。
我尝试跟随,但没有成功。
ssh -f HostA -l username -L 6001:10.54.172.68:22 \ ssh -p 6001 -N 127.0.0.1 -l username1 -i username1.pem -L 20333:dbhost:54666
ssh -fN HostA -l username -L 6001:10.54.172.68:22 \ ssh -fN -p 6001 -N 127.0.0.1 -l username1 -i username1.pem -L 20333:dbhost:54666
我也尝试过从 cmd 单独运行这些命令,但没有帮助。请提出任何解决方案
答案1
隧道作为代理工作得更好。要创建隧道以 ssh 到隧道另一端的服务器,您只需执行以下操作:
创建隧道:
ssh -qCfND <PORT> username@tunnelserver
您要分配的端口在哪里<PORT>
。6001 就可以了。开关用于-q
静音模式。 C
用于压缩。 f
用于 ssh 转到后台。 N
用于仅转发端口。 D
用于端口绑定。
然后通过 ssh 连接到另一侧的任何服务器:
ssh -o "StrictHostKeyChecking no" -o ProxyCommand='nc -X 5 -x 127.0.0.1:6001 %h %p' username@remoteserver
希望这可以帮助!