【发布时间】:2014-08-19 18:07:49
【问题描述】:
我需要通过公共 nat 服务器 SSH 到位于私有子网中的 database 服务器。只有nat 具有允许连接到database 的RSA 密钥。我将如何使用Net::SSH 来做到这一点?
我尝试了以下方法:
def ssh
Net::SSH.start(DB_SERVER_IP, DB_SERVER_USERNAME, proxy: proxy)
end
def proxy
Net::SSH::Proxy::Command.new("ssh -l #{NAT_USER} -e none #{NAT_IP} exec nc %h %p 2>/dev/null")
end
这种方法确实使私有database 服务器对localhost 可见,但localhost 没有 RSA 密钥来连接它,并且连接失败
Permission denied (publickey).
【问题讨论】: