gpt4 book ai didi

c# - SshNet 命令执行

转载 作者:太空狗 更新时间:2023-10-29 12:14:51 26 4
gpt4 key购买 nike

我正在尝试使用 C# 创建 SSH 客户端。我正在使用 Renci.SshNet 库。我在发送命令和从服务器获得适当响应时遇到问题。

我一直在测试它的方法是发送 ls 命令,然后发送 cd.. 命令,然后再次发送 ls 命令——以查看 cd.. 命令是否正确执行。但是,第一个 ls 命令和第二个 ls 命令之间没有区别。我不完全确定我做错了什么。也许我使用了错误的 Ssh 类型。我已经提供了代码和我得到的输出。我还添加了我期望的输出。

        SshClient ssh = new SshClient("apk0rhel01", "dwaseem", "Da_011235813");
ssh.Connect();


while (true)
{
string command = Console.ReadLine();

if (command == "exit")
{
break;
}

var result = ssh.RunCommand(command);

if (result.Result.Length < 10)
continue;

Console.Write(result.Result);
}
ssh.Disconnect();

输出: enter image description here

预期输出: enter image description here

最佳答案

这个问题的答案与使用 Tamir SSH 库的问题的答案相同 - 您正在使用一个旨在执行单个命令的类,该类每次登录并执行命令。您将无法像使用 shell 一样使用它。

如果你想实现交互式命令,你需要一些东西来保持连接打开,你需要处理命令完成的时间(这通常是通过寻找提示模式来完成的)。 Shell 类提供了处理此问题的方法 - 您可以找到其使用示例 on their website .

关于c# - SshNet 命令执行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29397766/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com