我正在尝试使用C#创建SSH客户端。我正在使用Tamir.SharpSsh库。我在发送命令并从服务器获得适当的响应时遇到问题。
我测试它的方法是通过发送ls
命令,然后发送cd..
命令,然后再发送ls
命令 - 查看是否{{ 1}}命令正在正确执行。但是,第一个cd..
命令和第二个ls
命令之间没有区别。我不完全确定我做错了什么。也许我使用的是错误的Ssh类型。我提供了代码和输出。我还添加了我期望的输出。
ls
输出:
预期产出:
答案 0 :(得分:1)
SshExec类用于执行单个命令。它会为每个命令登录服务器,并执行您要求的命令。它与您登录时相似(但不一样),键入cd ..
,再次注销,再次登录并键入ls
- 当您第二次登录时,您被重定向到主目录。
如果您想继续使用SshExec,您应该组合命令,这样您就可以执行单个命令。例如,在这种情况下,您将执行ls ..
。
如果您希望能够发布交互式会话等多个命令,请查看SshShell
课程,而不是SshExec
。