我已經下載了所有下面運行所需的模塊提到的Perl腳本:如何使用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");
但錯誤是:無法連接到172.16.170.116,端口22:無連接可以作出,因爲目標機器積極拒絕了。在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');
任何人都可以提供一些解決方案來解決這個問題嗎?
腳本,你應該檢查實際上,可以使用SSH或telnet連接之前。檢查目標機器上的防火牆和服務。你能夠telnet到端口22嗎? (使用標準的telnet應用程序) – Matteo 2012-04-13 09:49:47
看起來像是一個防火牆問題,或SSH守護進程根本不在遠程計算機上運行... – eckes 2012-04-13 10:45:46