- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我已经看到关于此错误的其他线程,但我随机遇到此错误。在 30 个连接中,有 12 个出现此错误。试图了解这是为什么,以及可能的解决方案是什么。
using (SftpClient client = new SftpClient(sftpHost, sftpPort, sftpUser, sftpPassword))
{
client.Connect();
}
抛出这个异常:
Renci.SshNet.Common.SshConnectionException: Server response does not contain SSH protocol identification
最佳答案
这听起来可能微不足道,但我已经尝试了 Renci.SshNet.Async 包并且它没有任何问题。以下可能是解决方案或替代解决方案出现问题的原因。
此处示例由 WinSCP https://winscp.net/eng/docs/library_examples 提供.
我的测试示例是:
This is just playground example to see if things are running, when used in production, please modify it. Further more thanks to @MartinPrikry adding this note: If you have set
SshHostKeyFingerprint
correctly, then do not setGiveUpSecurityAndAcceptAnySshHostKey
.
public static int WinSCPListDirectory()
{
try
{
var sessionOptions = new SessionOptions
{
Protocol = Protocol.Sftp,
HostName = "xxx.xxx.xxx.xxx",
UserName = "username",
Password = "password",
SshHostKeyFingerprint = "ssh-rsa 2048 xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx",
GiveUpSecurityAndAcceptAnySshHostKey = true
};
using (var session = new Session())
{
session.Open(sessionOptions);
var directory = session.ListDirectory("/var/www");
foreach (RemoteFileInfo fileInfo in directory.Files)
{
Console.WriteLine(
"{0} with size {1}, permissions {2} and last modification at {3}",
fileInfo.Name, fileInfo.Length, fileInfo.FilePermissions,
fileInfo.LastWriteTime);
}
}
return 0;
}
catch (Exception e)
{
Console.WriteLine("Error: {0}", e);
return 1;
}
}
这个例子应该返回一个目录列表
相关链接:
关于c# - 随机获取 Renci.SshNet.SftpClient.Connect 抛出 SshConnectionException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54523798/
Closed. This question is off-topic。它当前不接受答案。
我想在列出其中的文件之前检查远程文件夹是否存在。但是这段代码给我 SftpPathNotFoundException : No such file 我知道正在检查的文件夹不存在,这就是我要处理它的原因
我想创建(我认为它是一个控制台)屏幕以在 renci ssh.net 连接之后(或期间)输入和查看输出。我目前有一个收集连接信息的 form1,然后你按下一个按钮通过 backgroundworker
我在使用 Renci SSH SFTP 将文件从 ASP.NET 服务器上传到我们的 CDN (Akamai) 时遇到问题。在启动问题之前,我们一直在使用 FTP 上传媒体,超过 ~50MB 的任何内
我正在使用 Renci.SshNet.Sftp 连接到 SFTP。当我尝试调用 sftpClientObject.Connect() 时出现以下错误。请在下面找到错误。几天前它工作正常。检查了身份验证
我们最近将一个项目部署到生产环境中,现在当我们尝试连接到外部 sftp 机器时收到此错误消息,“无法建立连接,因为目标机器主动拒绝它”。当我开发应用程序并对其进行测试时,我们在连接到该服务器时没有遇到
有谁知道是否可以使用 SSH.NET 库 (Renci.SshNet) 以编程方式更改 SFTP 站点上的用户密码?无论哪种方式,我都无法找到任何确定的信息。 如果是,我将不胜感激您能提供的任何指示。
我想连接一个 SSH 服务器,在连接时运行一个自定义命令,该命令需要 XML 作为输入(UTF-8 编码,多行,在每个 XML 文档的末尾有一个特殊的行标记它的结束)和输出 XML(UTF-8 编码,
我正在开发一个简单的 WPF 应用程序,其唯一目的是使用 Renci SSH.net 库获取 SshClient 的工作目录并将其进一步传递给 SftpClient。 我似乎无法使用从 RunComm
我正在使用 .NET 库 Renci.SshNet 连接到远程 Solaris 机器(它是 ESXi 上的 VM)。它连接良好。 我使用以下方法执行命令并获取标准输出。这在任何 Linux 机器和几乎
我已经看到关于此错误的其他线程,但我随机遇到此错误。在 30 个连接中,有 12 个出现此错误。试图了解这是为什么,以及可能的解决方案是什么。 using (SftpClient client = n
我正在 WPF 应用程序上使用 Renci SSH.Net 库,但在使用 SFTP 客户端时遇到问题。当用户尝试连接以从 SFTP 服务器下载一些文件时,他会收到如下所示的消息: Server res
尝试使用 Renci 主机 SSH 库访问 MySQL 服务器。 我按照信息 Creating a forwarded port within an SSH tunnel 让它工作了 特别是这一行成功
我尝试在 Windows 10 64 位系统上使用 PowerShell 5.1 连接到远程 MySQL 服务器。我使用 Powershell x86 和 64 位版本。 当我使用 System.Da
我有一个 key 文件,正在与 Renci.ssh 一起使用来执行 sftp。但是,如果我将此文件复制并粘贴到 Azure Secret 中,当我运行相同的代码并尝试从 Azure Key Vault
我有一个 key 文件,正在与 Renci.ssh 一起使用来执行 sftp。但是,如果我将此文件复制并粘贴到 Azure Secret 中,当我运行相同的代码并尝试从 Azure Key Vault
我可以访问 Connected Renci.SshNet.SftpClient,我用它来获取 sftp 文件夹中的一系列文件。用于此的功能是 Renci.SshNet.SftpClient.ListD
我正在使用 Renci SSH.NET,但尝试在 FTP(不是 SFTP 站点)上进行测试。 我确实可以在 WinSCP 上使用它 - 但无法在 Renci 上使用它 -WinSCP 允许我将协议(p
我目前正在尝试使用 Renci SSH.NET 将文件复制到使用 SFTP 的 Unix 服务器,此外,我想创建一个指向已复制文件的符号链接(symbolic link)。这基本上是我的代码的样子,注
我需要在大型机上启动一个专有的 SSH 子系统。 我已将我的项目迁移到 dotnet core,但它不支持 ch.ethz.ssh2。我已将 lib 更改为 Renci.SSHNET,但没有在远程机器
我是一名优秀的程序员,十分优秀!