- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在研究 Tamir.SharpSsh,想看看是否可以用它来完全用 C# 实现控制台 SSH 客户端。我指的不是像 putty 这样的东西,它实际上在自己的 GUI 中运行,而是你可以直接从 Windows cmd 控制台运行的东西。
这个库非常棒,除了它不以任何方式处理终端仿真。因此,在使用 SshShell 时,您可以进行一些基本的交互,但输出通常非常丑陋且充满随机字符,您实际上无法与 shell 脚本等进行交互。
据我所知,SharpSSH 只是将 IO 重定向到控制台 IO。
将其重定向到其他地方并处理终端仿真有多难?另外,是否已经有我可以使用的仿真库(C# 和开源,最好)?
编辑:放弃 SharpSSH,请参阅下面的答案以了解我想出的最终解决方案。
最佳答案
我实际上已经放弃尝试使用 SharpSSH。这是一个很好的库,但整体功能太缺乏了。我现在正在使用一个名为 Granados 的库这是一个更加充实的 SSH 实现。它有一个内置的事件模型(不像 SharpSSH,后者主要涉及与 Streams 的争论),这使得使用起来非常简单。
至于终端仿真部分... Granados 实际上是另一个名为Poderosa 的开源项目的核心。 .
Poderosa 是一个完整的终端仿真器应用程序,可以连接到 ssh、telnet 甚至您本地安装的 cygwin。
我根本没有真正深入研究它的终端仿真代码,但它确实做得很好,所以我相信您可以轻松提取所需的任何代码。
关于c# - 带有 SharpSSH 的 C# 中的 VT100 仿真库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3134059/
我正在尝试使用 C# 创建 SSH 客户端。我正在使用 Tamir.SharpSsh 库。我在发送命令和从服务器获得适当响应时遇到问题。 我一直在测试它的方法是发送 ls 命令,然后是 cd.. 命令
我有 6 个文件要从 Windows 复制到 Linux:input.dat、image1.tif、image2.tif、image3.tif、image4.tif、image5.tif 我正在使用
我正在编写一个允许我从远程服务器上传和下载文件的应用程序。我使用 sftp 作为我的传输协议(protocol),我需要将所有文件和目录列出到 ListView 中。我正在为 sftp 使用 shar
我使用 SharpSSH 连接到 stfp 服务器。 这是因为我需要像这样添加一个私钥文件: sftp.AddIdentityFile(KeyFilePath); 但这会引发异常: invaid pr
我正在尝试使用 SharpSSH 从远程 SFTP 服务器获取文件,并且我想将其作为流读取。 我发现: 类(class) Sftp ,其中有 Get将其保存到本地文件的方法 -- 关闭 类(class
我将 SharpSSH .NET 库用于 SFTP。 http://www.tamirgal.com/blog/page/sharpssh.aspx 当我尝试连接服务器时出现错误 Algorithm
我正在将 SharpSSH 集成到现有的 .NET 2.0 项目中。所以不能切换到http://sshnet.codeplex.com/或其他更新的图书馆... 我拥有与设备的单一连接的所有功能,并且
我正在尝试使用 C# 类连接到 Solaris/Unix 服务器以读取系统信息/配置、内存使用情况等。 我的要求是从 C# 应用程序在服务器上运行命令(就像我们使用 PuTTY 客户端)并将响应存储在
我有一个小型 C# 应用程序,它使用 SharpSSH 库来简单地使用 SFTP 上传文件。现在,我的客户想要使用相同的程序通过 SSH/SFTP 连接到另一台服务器,但由于某种原因,该服务器是使用“
我正在使用 Tmir.SharpSsh - SshExec 方法将一些命令发送到远程 SSH 服务器。 问题是这个方法或它创建的某个线程将输出发送到我的控制台窗口(“Sha1”)。 我想问问是否有人知
我正在考虑使用 JSch 库(或者实际上是它的 sharpSSH C# 端口)为 SFTP 设置公钥客户端和服务器身份验证。不幸的是,我找不到任何关于关键加载函数使用的文件格式的文档: jsch.ad
private void OVConnection() { try { //Create a new JSch instance JSch jsch = new
我正在使用 SharpSSH 将一个 zip 文件从本地目录上传到 SFTP。一切正常。但是,我想获取我刚刚上传的当前文件的文件大小。我这样做的原因是 zip 文件很大(从 45 GB 到 80 GB
需要使用 Tamir.SharpSsh.Sftp 将文件从一个文件夹移动到另一个文件夹。 Tamir.SharpSsh.Sftp client = new Tamir.SharpSsh.Sft
我想使用 SharpSSH 将文件上传到 SFTP 服务器。 我得到了 SharpSSH.dll、要上传的文件、一个公钥,然后我将私钥发送到服务器。他们给了我一个用户名,不需要密码。 我试过这个: S
大家下午好 我在使用 .Net 的 SharpSSH 库时遇到了一个小问题(参见 http://www.tamirgal.com/blog/page/SharpSSH.aspx) Ss
我正在使用 SharpSSH (http://www.tamirgal.com/blog/page/SharpSSH.aspx) 将文件上传到某个 sftp 服务器。这很好用。现在我想下载一个文件,我
好的,这就是我要做的 我必须设置一个到 Linux 机器的 SSH session 并发出像“ls”或 cp 这样的命令。 这是片段 SshStream ssh = new
如何使用 Tamir Gal 的 SharpSSH 从 SFTP 服务器删除文件?我已经能够完成除删除之外的其他功能。 最佳答案 SshExec 类对我不起作用,但一点反射魔法起作用了: var pr
每当我尝试复制一个大于 2GB 的文件时,我在 Get 方法中得到一个数组索引越界异常: Scp myScp = new Scp("remotehost", "joe", "mypassword");
我是一名优秀的程序员,十分优秀!