如何解决使用 C# 中的 SSH 协议混淆从 Bitvise SFTP 服务器连接和下载文件
我有 SFTP 服务器,它能够在混淆密码的帮助下通过(Bitvise SSH 客户端)进行连接。但是,无法通过 c# 代码连接。
这是我的代码:
winSCPSrc.SessionOptions sessionOptionss = new winSCPSrc.SessionOptions();
sessionOptionss.Protocol = winSCPSrc.Protocol.Sftp;
sessionOptionss.PortNumber = Port;
sessionOptionss.HostName = Host;
sessionOptionss.UserName = Username;
if (!string.IsNullOrEmpty(Password))
{
sessionOptionss.Password = Password;
}
//sessionOptionss.GiveUpSecurityAndAcceptAnySshHostKey = true;
sessionOptionss.SshHostKeyFingerprint = fingerPrint;
using (winSCPSrc.Session session = new winSCPSrc.Session())
{
State.KPILog.Info(" SFTP Connection trying to Open ");
session.AddRawConfiguration("DefaultConfiguration","false");
// Connect
session.Open(sessionOptionss);
State.KPILog.Info("SFTP Connection Open ");
// ...
}
我在 session.Open(sessionOptionss)
时收到“服务器意外关闭网络连接”错误。
请告诉我,除了 winscp 之外,还有其他可用的库来连接 SFTP。
我尝试过的:
-
能够通过 Bitvise SSH 客户端连接和下载文件,但无法在 C# 代码中实现。
-
我们的 IT 提供商提供了一些“混淆密码”,用于通过 Bitvise ssh 客户端进行连接。我不知道它在 C# 代码中是如何工作的。
解决方法
Bitvise FAQ 说(强调我的):
如果您的所有合法连接都来自 Bitvise SSH 客户端,您可以在 SSH 服务器的高级设置中的绑定和 UPnP 下启用 SSH 协议混淆。如果您启用混淆,只有 Bitvise SSH 客户端才能连接,并且只有配置了正确的混淆关键字。
“混淆”似乎是 Bitvise 的专有功能。所以很可能 Bitvise 产品只支持它。 Bitvise 有 FlowSsh library。由于 Bitvise 客户端显然是建立在库之上的,因此您应该能够从您的 C# 代码中使用该库。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。