gpt4 book ai didi

c# - 为使用 SSH.NET SshClient.RunCommand 执行的命令 (cli) 提供输入/子命令

转载 作者:行者123 更新时间:2023-11-30 21:27:29 29 4
gpt4 key购买 nike

我使用 Renci SSH.NET 库创建了一个程序。它发送所有命令并正常读取结果。但是,当我发送以下命令时:

client.RunCommand("cli");

程序无限期地卡在这一行。

对发生的事情有任何解释吗?

cli 是 Juniper 交换机/路由器上使用的命令。

最佳答案

AFAIK,cli 是一种 shell/交互式程序。所以我假设你已经尝试过做类似的事情:

client.RunCommand("cli");
client.RunCommand("some cli subcommand");

这是错误的。 cli 将一直等待子命令并且永远不会退出,直到您使用相应的命令(如 exit)明确关闭它。在它退出后,服务器将尝试将 cli 子命令 作为单独的顶级命令执行,但也失败了。


您必须将“cli 子命令”提供给 cli 命令的输入。但不幸的是,SSH.NET 不支持使用 SshClient.RunCommand/SshClient.CreateCommand 接口(interface)提供输入。参见 Allow writing to SshCommand .


有两种解决方法:

关于c# - 为使用 SSH.NET SshClient.RunCommand 执行的命令 (cli) 提供输入/子命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57666090/

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