Je souhaite exécuter une commande à l'aide de ssh.
J'utilise le SharpSSH library, comme dans cet exemple:Exécution d'une commande qui ne produit aucune sortie avec SharpSSH
using System;
using Tamir.SharpSsh;
class Program {
static void Main(string[] args) {
string hostName = "host.foo.com";
string userName = "user";
string privateKeyFile = @"C:\privatekey.private";
string privateKeyPassword = "xxx";
SshExec sshExec = new SshExec(hostName, userName);
sshExec.AddIdentityFile(privateKeyFile, privateKeyPassword);
sshExec.Connect();
string command = string.Join(" ", args);
Console.WriteLine("command = {0}", command);
string output = sshExec.RunCommand(command);
int code = sshExec.ChannelExec.getExitStatus();
sshExec.Close();
Console.WriteLine("code = {0}", code);
Console.WriteLine("output = {0}", output);
}
}
Mon problème est que lorsque la commande je lance ne produit aucune sortie, je reçois -1 code de retour, au lieu du code renvoyé par la commande sur la machine distante.
Est-ce que quelqu'un a rencontré ce problème ou est-ce que je fais quelque chose de mal?
Avez-vous essayé d'utiliser la surcharge pour RunCommand et en ignorant simplement stdOut et stdErr et en lisant le code de retour retourné? Je suppose que cela ne semble pas être une grande différence. – kamranicus