c# - 使用 SharpSSH 的 C# VT100 仿真库

标签 c# ssh terminal sharpssh vt100

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

这个库非常棒,只是它不以任何方式处理终端仿真。因此,当使用 SshShell 时,您可以进行一些基本的交互,但输出通常非常难看并且充满随机字符,并且您无法实际与 shell 脚本等交互。

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

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

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

最佳答案

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

至于终端仿真部分...Granados其实是另一个开源项目Poderosa的核心。 .

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

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

关于c# - 使用 SharpSSH 的 C# VT100 仿真库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3134059/

相关文章:

c# - is 'using namespace' 表示加载该命名空间下的所有类型

c# - 错误 401 'INVALID_KEY_TYPE' con FireBase y c#

c# - 我可以代理现有的 Visual Studio LanguageService 吗?

c# - 关闭浏览器后登录状态丢失

Git 询问密码。

c - 在 C 中获取用户的连续输入

python - 快速 : python, 终端 "print command not found"

ssh - 使用Fabric连接到AWS-EC2时禁用密码提示

Python Paramiko 登录并关闭 ssh session 后报告 "EOF in transport thread"

ruby-on-rails - 在 Mac OSX 10.9.4 上安装 Ruby 1.9.3 时遇到问题