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



