如何使用Ruby调用使用SSH和SCP传输文件?

use*_*217 17 ruby rubygems ruby-on-rails

我在目录中有一个文件usr/share/ruby.rb.我想使用SSH和SCP使用Ruby调用将该文件传输到基于IP的远程设备.谁能帮我?

Vla*_*ich 22

例:

require 'net/scp'

    host = '10.10.10.10'
    login = 'foo'
    password = 'bar'

    Net::SCP.start(host, login, :password => password) do |scp|
      puts 'SCP Started!'
      scp.download('/usr/share/ruby.rb', '.')
    end
Run Code Online (Sandbox Code Playgroud)

还有一个 scp.upload


the*_*Man 15

网:: SSH库中包含的Net :: SCP,所以你应该开始寻找在那里.

来自Net :: SCP文档:

  require 'net/scp'

  # upload a file to a remote server
  Net::SCP.upload!("remote.host.com", "username",
    "/local/path", "/remote/path",
    :password => "password")

  # download a file from a remote server
  Net::SCP.download!("remote.host.com", "username",
    "/remote/path", "/local/path",
    :password => password)

  # download a file to an in-memory buffer
  data = Net::SCP::download!("remote.host.com", "username", "/remote/path")