Posez votre question Signaler

[PERL] Executer commandes à distances / ssh [Résolu]

Houston-12 36Messages postés 18 décembre 2003Date d'inscription - Dernière réponse le 23 juin 2009 à 11:06
Bonjour,
Dans le cadre de l'administration de plusieurs serveurs, je cherche a créer un script qui effectue différentes commandes system sur une liste de serveur et qui renvoie les résultats dans un fichier local, le tout via ssh.
Jusqu'à présent, j'ai fait ceci :
#!/usr/bin/perl

use Net::SSH2;
use Net::SSH2::Channel;

my $ssh2 = Net::SSH2->new();
$ssh2->method('HOSTKEY', 'aes256-cbc');
$ssh2->connect('@IP') or die "Connexion impossible !\n";
$ssh2->auth_publickey ('root', 'c:/id_rsa.pub', 'c:/identity');

my $cmd = $ssh2->channel();
$cmd->shell('ps -ef');
while (<$cmd>){ print } 

Il me renvoie l'erreur "Can't call method "shell" on an undefined value at c:\test3.pl line 12."
L'erreur est la même si j'utilise la méthode exec.
Pouvez vous m'aidez ?
Merci
Lire la suite 

[PERL] Executer commandes à distances / ssh »

4 réponses
Réponse
+0
moins plus
Salut,

$cmd->shell('ps -ef');
Si c'est ça la ligne, alors sous windows il n'y a pas la commande ps
Houston-12- 5 juin 2009 à 15:16
Salut lami20j,

Le pc qui execute le script est sous windows mais les serveurs sur lesquels je me connecte sont sous Unix.
L'objectif est de lancer des commandes sur ces serveurs et de récuperer le resultat en local.

Merci
Ajouter un commentaire
Réponse
+0
moins plus
up
Ajouter un commentaire
Réponse
+0
moins plus
Bonjour,

Le problème a été contourné en utilisant plink et la commande system :
system ('plink -m commandes.txt root@$adresse_ip');

Cordialement
Ajouter un commentaire
Ce document intitulé « [PERL] Executer commandes à distances / ssh » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
Passage au tout numérique : quel coût pour les particuliers ?