2

我已经下载了运行下面提到的 perl 脚本所需的所有模块:

use Net::SSH::Perl;

my $host = "172.16.170.116";
my $user = "HGamit";
my $password = "";

#-- set up a new connection
my $ssh = Net::SSH::Perl->new($host);
#-- authenticate
$ssh->login($user, $pass);
#-- execute the command
my($stdout, $stderr, $exit) = $ssh->cmd("perl C:/Monitor/ltp.pl C:/monitor");

但是报错:Can't connect to 172.16.170.116, port 22: No connection could be made because the target machine主动拒绝。在 C:/Perl/site/lib/Net/SSH/Perl.pm 第 206 行。然后我尝试了 telnet,但它不工作。

use warnings;
use Net::Telnet;

$telnet = new Net::Telnet ( Timeout=>2, Errmode=>'die');
$telnet->open('172.16.170.116');
$telnet->waitfor('/HGamit\s*/');
$telnet->print('admin');
$telnet->waitfor('/\s*/');
$telnet->print('Blue');

#$telnet->cmd('ver > C:\\log.txt');
$telnet->cmd('perl C:/Monitor/ltp.pl C:/monitor');

谁能提供一些解决方案来解决这个问题?

4

1 回答 1

0

您可以使用 IO::Socket 编写客户端服务器程序。您还可以实现加密和用户身份验证。该模型使您可以控制发送命令并在完成执行时将数据返回给客户端。您可以通过修改服务器程序中继承的 PATH 变量来限制要在服务器上执行的命令数量,以增加安全性。如果您需要代码方面的帮助。我可以为您发布我的代码。

谢谢,

苏克比尔·迪隆

加泰克

于 2012-06-05T19:48:22.780 回答