问题标签 [ssh.net]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
2891 浏览

asp.net-mvc - ssh.net 检查文件扩展名

我使用 SSH.NET 库连接到 sftp 服务器并设法从服务器下载文件。在服务器中有很多文件类型,我只需要 CSV 文件即可下载。如何检查文件扩展名 GetExtension 在 SSH.NET 中不起作用。非常感谢帮助。

0 投票
1 回答
2172 浏览

c#-4.0 - SSH.NET ftpClient 和日志记录

我有一个使用 SSH.NET 库将文件上传到安全 FTP 站点的非常基本的例程。我正在使用库中的 SftpClient 对象。一切正常,我没有收到任何异常。但是,FTP 另一端的公司说他们没有收到一些文件。它看起来是随机的,每次我手动验证文件在 FTP 服务器上时,它们一直在。所以我怀疑他们那边发生了一些事情,因为在向其他客户发送了数千个文件之后,从来没有丢失过文件……除了他们。

所以...我一直在寻找 SftpClient 的日志记录选项,以便我可以证明文件已实际上传。

有没有办法让 FTP 命令从库中注销?我正在寻找客户端和服务器响应,例如从网络上窃取的以下示例:

除此之外,还有其他可用的日志记录吗?

0 投票
3 回答
9926 浏览

c# - 如何检查 Ssh.NET 连接是否建立成功?

我想知道 Ssh.NET 如何告诉我连接是否建立成功:

以及如何证明“client.RunCommand("service apache2 status");”的结果 逻辑上?
例如 if(x == "apache2 正在运行")

0 投票
0 回答
578 浏览

c# - 从 C# Web 应用程序执行脚本时,使用“密码”连接到“DBname”用户“UserName”的 db2 不起作用

我正在尝试从 C# Web 应用程序执行 shell 脚本。在该 shell 脚本中,它连接到数据库并从中检索数据。从“ SSH Secure Shell Client ”工具执行脚本时,我能够获得所需的结果。但是当我尝试从 .net 应用程序执行脚本时,我无法正确连接数据库。

尝试调用的行是-" db2 connect to "DBname" user "UserName" using "Password" "

我想知道的另一件事是如何知道数据库是否已连接?

请给我同样的建议。

谢谢

0 投票
0 回答
1645 浏览

c# - SSH.NET 连接在 RunCommand 后总是断开连接

我正在尝试通过 SSH.NET 连接到我们的 cisco 交换机并在其上运行多个命令(最多 200 个)并读取结果。一个命令后,连接总是断开。

代码:

样品用法:

每次在 x.Execute() 之后都会发生断开连接。x.Error 中没有错误,x.ExitStatus = 0

x.Result 总是正确的

显然,如果我删除评论,它会起作用。但正如你可以想象的那样,它非常慢,而不是我可以使用的。

如果有人有答案会很高兴。

0 投票
1 回答
178 浏览

c# - 为什么某些代码仅在我在 C# 中创建/运行表单时才有效?

在将应用程序变成更像后台任务的过程中,我注意到一些奇怪的行为。当我运行这样的东西时它工作正常(类似于我正在修改的旧代码):

在后台进行此运行的第一步当然是删除对表单/渲染的引用:

然而,这种方式行不通。当我运行它时,我使用的库(与 Windows 窗体没有任何关系)不再正常工作。这没有我计划做的任何其他更改。只删除这三行。如果相关,Foo在实际代码中是一个创建 SSH 隧道的类(使用 SSH.NET 库),但它没有通过表单/设计器中的任何代码(直接或间接)引用,它只需要设置/拆除,以便建立连接。

该错误发生在连接到隧道之前,而是在尝试连接到远程主机并转发端口时发生。库报告连接已建立 ( IsConnectedis true),但是当端口转发启动时,它会报告异常并显示消息"Session is not connected"

0 投票
1 回答
800 浏览

.net - ssh.net 库 - client.RunCommand() 不工作

程序挂在 .RunCommand() 处。我错过了一些非常基本的东西吗?似乎这是对其他人有效的相同代码,我知道该命令是正确的。

如果我注释掉 .runco​​mmand() 程序执行没有错误。

我感谢任何高级帮助。

0 投票
2 回答
2379 浏览

c# - 使用 SSH.Net 下载和返回非阻塞数据流

我正在使用ssh.net 库来执行 SFTP 操作以处理大型数据文件 ( >=500MB )

我对如何以非阻塞方式返回数据有疑问。

方法签名是好的,当ftpClient.DownloadFile()写入文件时,或者如果有某种方法可以实例化流,但是当我想在不阻塞的情况下返回流时如何使用它时遇到问题。

到目前为止,我看到的所有示例都将下载内容写入Filestream. 没有什么只是返回一个流

使用 .Net 的内置 FTP,您只需使用response.GetResponseStream(),它就会流回数据,而不会阻塞。

在 return 语句中使用它的唯一方法是写入临时文件。但这导致它成为阻塞操作。

我不希望它阻塞,而是流回数据。

我也想避免创建一个临时文件。

是否有替代实现使其流回数据?

或者是否有我可以实例化的替代流(除了MemoryStream),它适用于大文件?

0 投票
2 回答
2057 浏览

linux - 从 PowerShell 远程执行 Linux 应用程序

我正在尝试cslogin从 PowerShell 在 Linux 机器上执行应用程序控制台命令 ()。我使用来自SSH.NET的 SSH 模块来访问 Linux 服务器。以下是我的脚本的快照,我能够建立 ssh 会话。

但是一旦cslogin执行该命令,脚本就会挂起并显示以下消息:

SEC054 设备已连接到或断开连接到伪 tty,但未进行身份验证

此时,如果我按下回车键,我就能得到应用程序提示,这就是我想要的。我试图了解为什么我的脚本会挂起以及如何解决这个问题。

0 投票
0 回答
799 浏览

c# - SSH.NET 找不到部分路径错误

我正在尝试在 C# 代码中使用 SSH.NET 通过 SSH 访问数据库。我生成一个 RSA 密钥对并将私钥放在 UNC 共享驱动器上。路径名字符串如下所示。当我开始尝试连接的代码时,我收到“找不到路径的一部分”错误。

我认为使用 UNC 路径是问题所在。有没有办法解决这个问题?谢谢。

编辑:我尝试使用映射驱动器。同样的错误。我的代码如下所示:

注意:我尝试了一个看起来像这样的路径名:@"C:\my folder\private_key.ppk"并且它有效,所以显然字符串中的空格不是问题。此外,虽然我认为权限不是问题,但我尝试以管理员身份运行代码并得到同样的错误。我可以使用 Windows 资源管理器手动访问共享驱动器。我不知道我还能尝试验证这一点。