在 C# 中使用 SSH 协议混淆从 Bitvise SFTP 服务器连接和下载文件

Connect and download files from Bitvise SFTP server with SSH protocol obfuscation in C#

我有 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 FAQ 说(强调 我的):

If all of your legitimate connections come from Bitvise SSH Client, you can enable SSH protocol obfuscation in the SSH Server in Advanced settings, under Bindings and UPnP. If you enable obfuscation, only Bitvise SSH Client will be able to connect, and then only if configured with the correct obfuscation keyword.

似乎“混淆”是 Bitvise 的专有功能。所以很可能 Bitvise 产品只支持它。 Bitvise 有 FlowSsh library。由于 Bitvise 客户端显然构建在该库之上,您应该能够从您的 C# 代码中使用该库。