问题标签 [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 回答
9279 浏览

c# - Renci ssh.net 无法连接,因为目标机器主动拒绝

我们最近将一个项目部署到生产中,现在当我们尝试连接到外部 sftp 机器时收到此错误消息,“无法建立连接,因为目标机器主动拒绝它”。当我开发应用程序并对其进行测试时,我们连接到该服务器没有任何问题。

会有什么不同?我有管理权限,而生产服务器上的应用程序池没有。我不确定这是否是导致问题的原因,或者是否可能是外部客户端服务器上的某些东西或他们的防火墙阻止了我们。

0 投票
1 回答
701 浏览

c# - 使用 SSH.NET 执行 shell 命令时出现“未设置 MyVar 环境变量”错误

我收到一个错误:

未设置 MyVar 环境变量

使用 SSH.NET、C# 执行 shell 命令时。我可以从 PuTTY 执行相同的命令,一切正常。

我的代码是

0 投票
1 回答
1849 浏览

c# - 多线程的 SSH.NET SSH 私钥文件锁定问题

我正在使用 SSH.NET 将 SFTP 文件从一台服务器传输到另一台服务器。我正在使用 C# .NET 4.5 MVC 4。它工作得很好,除非有多个请求尝试上传文件,此时我收到一个错误,即 SSH 私钥当前正在被另一个进程使用。我假设一个请求设置了从私钥文件读取的 ConnectionInfo 对象,而另一个请求在第一个请求完成从该文件读取之前尝试做同样的事情。

有什么帮助吗?

请注意,在下面的代码中,我已将“test”添加到所有字符串 obj 值。在生产中,情况并非如此。

谢谢!

0 投票
3 回答
1462 浏览

c# - 无法使用 C# 和 SSH.NET 从 Windows 运行 Unix 服务器中的用户脚本

我有一个在 Unix 服务器(准确地说是 Solaris)上运行的 Perl 脚本。该脚本使用 ftp 实用程序来调节大型机服务器中的文件,然后将它们传输到 Unix 服务器。

最近,我正在尝试使用 Windows 窗体和 C# 开发一个 Windows 桌面应用程序。我正在尝试使用 codeplex 提供的 SSH.NET 库。问题是,每当我从应用程序运行正常的 Unix 命令时,它都可以工作,但是当我尝试运行脚本时,它就不起作用。我检查了连接并且应用程序正确连接到服务器。我使用了以下两种方法,但没有运气:-


如果有人指出我正确的方向,那将是一个巨大的帮助。

编辑:- 运行具有完整路径的脚本,因为调用的非交互式 shell 在加载时不会读取 /etc/profile/ env 变量。我也会尝试其他建议的选项,如果可行的话,我会编辑帖子。

0 投票
1 回答
11831 浏览

c# - SSH.Net 异步文件下载

我正在尝试使用 SSH.NET 从 SFTP 服务器异步下载文件。如果我同步执行,它可以正常工作,但是当我异步执行时,我会得到空文件。这是我的代码:

0 投票
3 回答
8837 浏览

c# - 使用 SSH.NET 时如何将下载的文件保存在 MemoryStream 中

我正在使用 SSH.NET 库来下载文件。我想将下载的文件保存为内存中的文件,而不是磁盘上的文件,但它没有发生。

这是我的代码,它工作正常:

这是无法正常工作的代码,因为它提供了 0 字节流。

0 投票
0 回答
426 浏览

c# - 当我使用 SftpClient.UploadFile()(在 SSH.NET 库上)时,如何获得响应状态和描述?

UploadFile 方法工作得很好。但是,我希望在上传完成后从 FTP 服务器获取状态代码(数字代码)和响应消息。UploadFile 方法返回 void,回调给了我一个 ulong,我认为这是上传文件的大小。我有没有机会使用这个库从服务器获取响应信息?

0 投票
3 回答
55822 浏览

c# - 使用 SSH.NET 和 C# 复制或移动远程文件

我知道我可以使用SftpClientSSH.NET 库类从 SFTP 服务器上传和下载文件,但我不确定如何使用此类在 SFTP 服务器上复制或移动远程文件。我也没有在互联网上找到相关材料。如何使用 SSH.NET 库和 C# 将远程文件从目录 A 复制或移动到目录 B。

更新: 我也尝试SshClient使用下面的代码对类进行试验,但它什么也没做,既没有任何错误,也没有任何异常。

在 Visual Studio 控制台上,我得到以下输出。

*SshNet.Logging Verbose:1:向服务器“ChannelRequestMessage”发送消息:“SSH_MSG_CHANNEL_REQUEST:#152199”。

SshNet.Logging 详细:1:来自服务器的 ReceiveMessage:'ChannelFailureMessage':'SSH_MSG_CHANNEL_FAILURE:#0'。*

0 投票
1 回答
23739 浏览

c# - 从 C# SSH.NET 的 ShellStream 获取完整的命令输出

使用Renci.SshNet库。我正在尝试执行一些命令。执行“命令 1”后,我正在执行需要更多时间的“命令 2”。

我只得到输出的第一行。(reader.ReadToEnd()没有以正确的方式工作)。

我也试过while (!reader.EndOfStream){ }没有运气。

我认为这是因为服务器响应的延迟。当没有响应时,流什么也不读并完成。

我找到了解决方案

但这并不专业。我需要某种方式在流结束时结束。

0 投票
2 回答
2384 浏览

c# - 如何发出 SSH 命令

我在 SSH.NET 中使用 C#。

我想发出 PWD 命令,但找不到任何文档或帮助。我不知道如何使用“SshClient”类。

更新: 我还尝试使用以下代码尝试使用 SshClient 类,但它什么也没做,既没有任何错误,也没有任何异常。

什么都没发生。既不是错误也不是异常。在 Visual Studio 控制台上,我得到以下输出。

*SshNet.Logging Verbose:1:向服务器“ChannelRequestMessage”发送消息:“SSH_MSG_CHANNEL_REQUEST:#152199”。

SshNet.Logging 详细:1:来自服务器的 ReceiveMessage:'ChannelFailureMessage':'SSH_MSG_CHANNEL_FAILURE:#0'。*

在 ssh.RunCommand 方法调用中,程序进入某种睡眠状态(或等待大约 1 分钟)。sshCommand.Result 和 sshCommand.Error 变量为空。