【发布时间】:2017-11-29 00:04:29
【问题描述】:
我正在尝试将远程(ec2)端口转发到本地端口,以在我的本地浏览器中查看作业跟踪器,该浏览器在亚马逊 ec2 集群上运行。但无法转发远程端口。
这是我的代码:
Net::SSH.start('ec2-23-23-4-229.compute-1.amazonaws.com' ,'hadoop' ,:keys =>"mykeypair.pem",:forward_agent => true) do |ssh|
ssh.forward.remote(9033, "localhost",9101,"ec2-23-22-4-249.compute-1.amazonaws.com")
ssh.loop { !ssh.forward.active_remotes.include?([9033, "localhost"]) }
end
【问题讨论】:
-
这不能直接回答您的问题,但可能会有所帮助。我为查看jobtrackers网页所做的工作是通过带有-D选项(socks代理)的ssh连接到它:ssh -i ec2key root@ec2instance -D20000。然后我在浏览器中配置了 socks 代理(localhost:20000),并可以通过它们的私有 IP 连接到 NameNode/JobTracker 网页。
-
找到了解决方案。它可能对某人有帮助: ssh=Net::SSH.start(dns, 'hadoop' ,:keys => ["src/#{$parameters_hash['pem_file_name']}"],:forward_agent => true) ssh.forward .local(port_available, 'localhost', 9100)
标签: ssh portforwarding net-ssh