如何在Ruby中使用Net :: SSH复制文件?

Rus*_*ton 2 ruby ssh scp net-ssh

据我所知,如果要将文件复制到远程主机,然后从命令行进行操作,则需要同时使用Net :: SCP和Net :: SSH。

最好建立一个SSH会话,进行复制,然后使用相同的连接来解压缩文件并安装它们。

我想念什么吗?

cmr*_*rds 5

Net :: SCP允许您轻松地从现有的Net :: SSH会话中获取Net :: SCP引用:

require "net/ssh"
require "net/scp"
Net::SSH.start("remote.host", "username", :password => "passwd") do |ssh|
  ssh.scp.upload("/local/path", "/remote/path")
  ssh.exec("...insert commands...")
end
Run Code Online (Sandbox Code Playgroud)

在此处阅读更多信息:http : //net-ssh.github.io/net-scp/classes/Net/SCP.html