如何通过sshclient访问时为perl脚本提供确认?

时间:2015-09-29 17:24:26

标签: c# perl ssh

以下是启用某个目标的perl脚本。这需要用户确认。

*****.pl --enable ***

DO YOU WANT TO ENABLE DESINATION(S) [Y\N] :

我们一直在使用

var sshClient = new SshClient(host, username, password);
sshClient.CreateCommand("command").Execute();

[问题]如何向sshClient提供用户确认

2 个答案:

答案 0 :(得分:0)

我认为你不能用SSH.Net库做到这一点。 你可能需要SharpSSH库,它有一个功能 - 期望。 这与Perl SSH :: Expect类似,如果您熟悉它。

你可以等待(期待)命令输出,在特定输出时提供输入(比如你想要启用...)

请参阅此链接解释示例:

http://www.tamirgal.com/blog/post/SSH-Expect-Example.aspx

我们可以在评论部分讨论更多内容,我会在旅途中添加更多详细信息

答案 1 :(得分:0)

理想情况下,脚本将提供一种通过环境变量的命令行参数来避免提示的方法。如果没有,您需要为其STDIN提供适当的输入。可能只是执行以下命令的情况:

echo Y | command

expect(命令行工具,或类似的.NET库,如果存在)可用于处理更复杂的情况。