问题标签 [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 投票
5 回答
61295 浏览

c# - SSH.NET SFTP 递归获取目录和文件列表

我正在使用 Renci.SshNet 库通过 SFTP 递归获取文件和目录列表。我可以连接 SFTP 站点,但我不确定如何在 C# 中递归获取目录和文件列表。我还没有找到任何有用的例子。

有人试过这个吗?如果是这样,您能否发布一些有关如何递归获取这些文件和文件夹的示例代码。

谢谢,
普拉夫

0 投票
2 回答
21728 浏览

c# - 在 SSH 隧道中创建转发端口

我正在尝试使用SSH.NETlocalhost:3306在远程计算机上创建从端口 3306 到端口的隧道:

当断点被命中时,client.IsConnected正在返回true,但telnet localhost 3306没有连接。如果我使用 Putty 创建连接,并在那里设置相同的隧道,它会成功。我错过了什么?

0 投票
1 回答
3290 浏览

c# - 使用 SSH.Net 将 GzipStream 上传到 SFTP

我正在尝试使用 ssh.net 库将压缩的 GZipStream 上传到 sftp 服务器。问题是当我创建 GZipStream 时,它无法再读取。下面是我的代码:

SftpClient 的 UploadFile 需要一个流,我需要上传正在压缩的 GzipStream(不存储到本地驱动器,然后再次读取)。但是 GZipStream 在压缩时不允许读取。我尝试在 gzipstream using 子句之外进行上传,它说无法访问该流。

我该如何处理?甚至可以直接这样做还是我需要将它写入本地驱动器然后上传...

0 投票
1 回答
5590 浏览

c# - SFTP - 检查可用空间

我正在使用Renci SSH.NET库进行安全的 ftp 连接。现在我必须检查远程 SFTP 服务器上的可用磁盘空间。我怎样才能做到这一点?

0 投票
1 回答
1208 浏览

asp.net - 使用 SFTP 指导上传动态创建的 XML 文件

目前,我正在使用带有以下代码的发布字段生成一个 xml 文件以供下载:

这工作正常。

但是我想 sftp 将生成的文件上传到服务器上的指定目录。

我已经成功使用 ssh.net 进行连接,并且能够创建一个新目录等。

我的问题是如何生成文件,然后使用 ssh.net 对其进行 sftp?

我尝试使用文件流但没有成功。我猜该文件需要临时存储,然后检索上传。

这是我当前针对指定问题的代码段:

我知道服务器上已经没有要上传的文件了。

任何帮助将不胜感激,因为这是我的应用程序中的最后一块拼图。

干杯

0 投票
1 回答
8890 浏览

c# - SSH.NET RunCommand 将命令输出保存到文件

我正在尝试通过 SSH 在远程服务器上运行命令。

我需要将运行的命令的输出保存在该远程服务器上的文件中。

我一直在尝试通过以下方式

为什么这不适用于 SSH.NET?如果我使用相同的凭据通过 putty 运行它,它工作得非常好。

编辑(工作代码):

我做了更多的游戏,发现以下工作:

虽然这有效,但我仍然不明白这里到底发生了什么。有人可以解释一下吗?

0 投票
0 回答
1085 浏览

ssh.net - 挂起文件上传

我的客户端代码看起来像这样......

调用此代码时,库在以下调用 Monitor 时挂起...

此片段来自int Read(byte[] buffer, int offset, int count)in PipeStream

其他人似乎在这里也遇到过类似的问题。

但是这些回复还没有帮助我,我想避免编辑源代码。

有任何想法吗?

0 投票
0 回答
1517 浏览

c# - SSH.NET SocketException: 10004 阻塞操作被 WSACancelBlockingCall 调用中断

我使用 SSH.NET 在 .Net-Applications 中创建 SSH 隧道。在我的 ConsoleApplication / Windows-Service 中,这个库按预期工作。

现在我编写了一个 WPF 应用程序,它创建了一个 SSH 隧道来远程访问 MySQL 数据库。我可以访问数据库并执行我的 SQL 语句就好了。

但是,如果我在与数据库断开连接后尝试关闭隧道,我首先会收到一个 SocketException: 10004 A blocking operation was interrupted by call WSACancelBlockingCall 然后还有几个异常:

  • SocketException: 10053 主机中的软件停止了已建立的连接,可能是由于数据传输超时或协议错误。
  • Renci.SshNet.Common.SshConnectionException: Bad packet length XXX (XXX 是一个随机整数)
  • Renci.SshNet.Common.SshConnectionException:客户端未连接。

我使用以下代码打开/关闭隧道:

并且 SSHTunnelBuilder 在这样的 TASK 中使用:

有人可以向我解释如何摆脱这些异常吗?

0 投票
0 回答
595 浏览

c# - 不使用临时文件的服务器到服务器 SFTP 传输

我们目前正在使用 WinSCP 使用 SFTP 传输文件,但我们希望不必在两个 SFTP 服务器之间本地保存我们的文件。有没有办法让我的应用程序充当“中间人”而不在本地保存文件?例如,用户单击一个按钮,然后应用程序从 SFTP 服务器 A 抓取文件,然后将其传输到 SFTP 服务器 B,而无需我在其间将文件保存在本地。这是我正在使用或尝试使用的代码:

如果 SSH.net 无法做到这一点,那么有什么组件可以让我这样做?

0 投票
1 回答
1600 浏览

c# - 使用 sshnet 执行 unix 脚本

我正在尝试通过 SSH 在我的 UNIX 机器上执行 perl 脚本。我已经设法连接到机器并执行“ls”和“man chmod”,但是当我尝试“perl /test/temp.pl”或“perl a”时,我什么也得不到。

我正在使用的代码如下

有人遇到相同或类似的问题吗?