ssh到Windows机器并执行bat文件

时间:2013-08-26 20:30:36

标签: perl cygwin

我的.bat文件驻留在windows中,我想通过ssh从Linux调用它。我已经在windows中安装了cygwin,我可以ssh到机器。我想编写一个Perl脚本来连接到Windows服务器并执行.bat文件。

2 个答案:

答案 0 :(得分:0)

执行此类任务的方法是Net::SSH

实施例。 :

use Net::SSH qw(ssh issh sshopen2 sshopen3);

ssh('user@hostname', $command);

issh('user@hostname', $command);

ssh_cmd('user@hostname', $command);
ssh_cmd( {
  user => 'user',
  host => 'host.name',
  command => 'command',
  args => [ '-arg1', '-arg2' ],
  stdin_string => "string\n",
} );

sshopen2('user@hostname', $reader, $writer, $command);

sshopen3('user@hostname', $writer, $reader, $error, $command);

答案 1 :(得分:0)

使用以下任何一项:

  • Net::OpenSSH:易于使用,不适用于Windows,但可以连接到Windows主机。
  • Net::SSH2:不是那么容易使用,可以在任何地方使用。
  • Net::SSH::Any:上述模块的包装器,易于使用的API。虽然,仍然不完整。

例如:

use Net::SSH::Any;
my $ssh = Net::SSH::Any->new($host, user => $user, password => $password);
my @output = $ssh->capture('c:\foo.bat');