2012-09-06 :-(
_ [ruby][scp][ssh]ホストへファイルを scp して ssh で何かして scp で手元へ取得するとか
コピペしただけですが
#!/usr/bin/ruby
# -*- encoding: utf-8 -*-
require 'pty'
require 'expect'
require 'rubygems'
require 'net/ssh'
def do_scp(src, dst, passwd)
  cmd = "scp #{src} #{dst}"
  puts "cmd: #{cmd}"
  PTY.spawn(cmd) do |r, w|
    r.expect(/password:/, 10) { w.puts passwd }
  end
end
def do_ssh(host, user, cmd, passwd)
  Net::SSH.start(host, user, :password=>passwd){ |ssh|
    output = ssh.exec!(cmd)
    puts output
  }
end
def main(argv)
  src = 'hoge.txt'
  dst = "rin@host1:~/#{src}"
  passwd = 'PASSWORD'
  cmd = "hostname > #{src}"
  do_scp(src, dst, passwd)
  do_ssh('host1', 'rin', cmd, passwd)
  do_scp(dst, src, passwd)
end
main(ARGV)
ref.
[ツッコミを入れる]








