2012-04-13 3 views
2

i alle notwendigen Module für die Ausführung von unten genannten Perl-Skript heruntergeladen haben: da der Zielcomputer aktiv Es konnte keine Verbindung hergestellt werden:Wie führe ich einen Befehl auf einem entfernten Rechner per Perl aus?

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"); 

Aber der Fehler ist: Kann nicht an 172.16.170.116 anschließen, Port 22 lehnte es ab. an C: /Perl/site/lib/Net/SSH/Perl.pm Zeile 206. Dann versuchte ich Telnet, aber es funktioniert nicht.

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'); 

Kann jemand irgendeine Lösung zur Verfügung stellen, um dieses Problem zu lösen?

+7

Bevor Skripts sollten Sie prüfen, ob in der Tat möglich ist, mit SSH oder Telnet zu verbinden. Überprüfen Sie die Firewall und die Dienste auf dem Zielcomputer. Können Sie zu Port 22 telnet? (mit einer Standard-Telnet-Anwendung) – Matteo

+1

sieht aus wie ein Firewall-Problem für mich oder der SSH-Daemon läuft überhaupt nicht auf dem Remote-Rechner ... – eckes

Antwort

0

Sie können das Client-Server-Programm mit IO :: Socket schreiben. Sie können auch die Verschlüsselung und Benutzerauthentifizierung implementieren. Mit diesem Modell können Sie den Sendebefehl steuern und die Daten nach Abschluss der Ausführung an den Client zurücksenden. Sie können die Anzahl der auf dem Server auszuführenden Befehle begrenzen, indem Sie die vererbte PATH-Variable im Serverprogramm für zusätzliche Sicherheit ändern. Wenn Sie Hilfe mit dem Code benötigen. Ich kann meinen Code für Sie veröffentlichen.

Danke,

Sukhbir Dhillon

Addteq

+0

HEy Sukhbir, möchte ich Remote-Text, XML-Datei mit Perl, und Parsen und Aktualisieren Sie diese Datei für das Update. – Hmnshu

+0

HEy Sukhbir, ich möchte Remote-Text, XML-Datei mit Perl zu öffnen und diese Datei zu aktualisieren. Beispiel: Name des entfernten Servers: incdforty, IP: 172.16.23.110, Benutzername: "myname" pwd: "psswrd" ..... Der Speicherort der Datei kann variieren. Ich wollte Dateien auf zwei verschiedenen Remote-Servern vergleichen und zusammenführen, wie: - Datei 1 Inhalt -: Schlüssel = abc2000.2003 und Datei 2 Inhalt-: Schlüssel = 2005, ich wollte nur die erste Datei mit Inhalt der zweiten Datei von meinem aktualisieren lokale Maschine zu anderen zwei Remote-Servern, für die ich Admin-Anmeldeinformationen habe ... das wird wirklich hilfreich sein, wenn Sie mir Schnipsel oder Anleitung für diese Aufgabe geben können. – Hmnshu

Verwandte Themen