Ruby NET :: SCP和自定义端口

gho*_*fle 6 ruby ssh port

我正在尝试使用Net :: SCP为ssh连接定义一个自定义端口,但到目前为止没有运气.

以下是我尝试从具有自定义ssh端口的服务器下载远程文件的示例:

require "rubygems"
require 'net/scp'
Net::SCP.download!("www.server.com", "user", "/opt/platform/upload/projects/file.txt", "/tmp/bb.pdf",{:password => "mypassword",:port => 22202})
Run Code Online (Sandbox Code Playgroud)

我得到的错误信息是:

 Errno::ECONNREFUSED: Connection refused - connect(2)
Run Code Online (Sandbox Code Playgroud)

服务器日志中没有关于ssh连接的条目,所以我假设Net :: SCP没有使用我的自定义端口.

有什么提示吗?

问候,亚历克斯

gho*_*fle 9

好吧,我自己找到了解决方案.

require "rubygems"
require "net/scp"
Net::SSH.start("www.myserver.com", "theuser", {:password => "whateverpwd",:port => 22212}) do |ssh|
  ssh.scp.download! "/opt/platform/upload/projects/my.pdf", "/tmp/bb.pdf"
end
Run Code Online (Sandbox Code Playgroud)