Я хочу запустить команду, используя ssh.
Я использую библиотеку 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);
}
}
Моя проблема в том, что когда команда, которую я запускаю, не выводит ничего, я получаю -1 в качестве кода возврата вместо кода, возвращаемого командой на удаленной машине.
Кто-нибудь сталкивался с этой проблемой или я делаю что-то не так?