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.
[ツッコミを入れる]