2

我在搞乱 Tamir.SharpSsh 并想看看是否可以使用它在 C# 中完全实现控制台 SSH 客户端。我并不是指像 putty 这样的东西,它实际上在它自己的 GUI 中运行,而是你可以直接从 windows cmd 控制台运行的东西。

该库非常棒,只是它不以任何方式处理终端仿真。所以在使用 SshShell 的时候,你可以做一些基本的交互,但是输出通常很丑陋并且充满了随机字符,你实际上无法与 shell 脚本之类的东西进行交互。

据我所知,SharpSSH 只是将 IO 重定向到控制台 IO。

将其重定向到其他地方并处理终端仿真有多难?另外,是否有我可以使用的仿真库(最好是 C# 和开源)?

编辑:放弃 SharpSSH,请参阅下面的答案以了解我想出的最终解决方案。

4

2 回答 2

3

实际上,我已经放弃尝试使用 SharpSSH。这是一个很好的库,但整体功能太缺乏了。我现在正在使用一个名为Granados的库,它是一个更加充实的 SSH 实现。它有一个内置的事件模型(不像 SharpSSH,它主要涉及与 Streams 的争吵),这使得使用非常容易。

至于终端仿真部分…… Granados 实际上是另一个名为Poderosa的开源项目的核心。

Poderosa 是一个完整的终端仿真器应用程序,可以连接到 ssh、telnet 甚至您本地的 cygwin 安装。

我根本没有真正深入研究它的终端仿真代码,但它确实做得很好,所以我相信你可以轻松地取出你需要的任何代码。

于 2010-07-15T17:32:12.960 回答
1

我正在寻找同样的东西。这里有一个图书馆,售价 700 美元。在codeproject上找到了另一个看起来粗制滥造但可能是一个好的开始。在stackoverflow上有一个不完整的实现。仍在搜索中..

于 2010-07-15T16:55:02.337 回答