我想通过 Net::SSH 转发一个端口,如下所示:
ssh = Net::SSH.start('host', 'user', config: true)
ssh.forward.local(3333, 'localhost', 80)
ssh.loop
据我了解,这相当于:
ssh user@host -L 3333:localhost:80
使用命令行版本,我可以向远程主机发送 HTTP 请求localhost:3333
并获得答复。localhost:80
对于 Ruby 版本,我没有得到任何答案。
任何想法为什么?
编辑:
我试过net-ssh-gateway
了,它有效。查看它的代码,我真的看不出它在建立连接方面有什么不同。