SSH.NET не разрешит эту строку

Извините, если я упустил что-то глупое...

using (var client = new SshClient("ipaddress", "USER", "PASSWORD"))
{
    client.Connect();
    string xnatCli = @"XNATRestClient -host http://localhost:8080/xnat/ -u admin -p administrator -m PUT -remote ""/data/archive/projects/prj005/subjects/test12/experiments/visit12?xnat:petSessionData/date=12/12/12" + "\"";

    //string list = "ls -lrt";

    var cmd = client.RunCommand(xnatCli);
    cmd.Execute();
    var outputQuery = cmd.Result;
    Console.Write(outputQuery);
    Console.Read();
 }

Уважаемые разработчики. Я надеюсь, что кто-то может мне помочь. Я застрял на идеях, почему это не сработает. Я пробовал простые команды, как показано выше ls -lrt в RunCommand(). Он работал нормально, используя putty или ssh'ing с другого компьютера с Linux с помощью команды (xnatCli), работает отлично. Однако не будет работать в этом экземпляре кода. Может быть, ограничение длины строки в ssh.net.RunCommand()? Я делаю что-то глупое?

2 ответа

Попробуйте использовать StringBuilder вместо строки:

        StringBuilder response = new StringBuilder();

        SshClient client = new SshClient("host", "user", "pass");
        client.Connect();
        var cmd = client.RunCommand("ls -la");
        cmd.Execute();
        response.Append(cmd.Result);
        client.Disconnect();

Надеюсь, поможет.

Попробуйте этот код:

string xnatCli = "your command here";

SshCommand cmd = client.CreateCommand(xnatCli);

cmd.Execute();
Другие вопросы по тегам