将文件发送到远程主机,执行远程脚本,获取结果

时间:2013-01-22 03:40:13

标签: bash remote-access

我想知道是否有任何方法可以创建一个接受1个参数的bash脚本,即文件,然后它会执行以下操作

  1. 使用sftp自动登录远程主机(密码,用户名为 在某处硬连线)
  2. 通过
  3. 发送本地文件
  4. 使用ssh退出并登录远程主机
  5. 执行一些脚本
  6. 从远程标准输出中获取结果。

1 个答案:

答案 0 :(得分:0)

使用Perl和Net::OpenSSH

use Net::OpenSSH;

my $ssh = Net::OpenSSH->new($host, user => $user, password => $password);
my $sftp = $ssh->sftp;
$sftp->put("/local/path/to/script", "bin/my_script"); # => ~/bin/my_script
$sftp->chmod("bin/my_script", 0755);
$ssh->system({stdout_file => '/tmp/script.out'}, "bin/my_script");