我有一个使用 WinSCP 程序集版本 5.19.5 的 .NET 控制台应用程序。该应用程序处于模拟状态,以便访问 NAS 上的文件,因此我为
ExecutableProcessUserName
对象设置 ExecutableProcessPassword
和 Session
。
Dim sessionOptions As New SessionOptions
With sessionOptions
.Protocol = Protocol.Sftp
.HostName = _SFTPServer
.UserName = _SFTPLoginID
.Password = _SFTPLoginPwd
.PortNumber = _SFTPPort
End With
sessionOptions.SshHostKeyFingerprint =
session.ScanFingerprint(sessionOptions, "SHA-256")
Using session As New Session
session.ExecutableProcessUserName = _ServiceAccountUsername
session.ExecutableProcessPassword =
ConvertToSecureString(_ServiceAccountPassword)
session.Open(sessionOptions)
它在
session.Open
处失败,并出现错误:
存根收到错误数据 有任何想法吗?谢谢
看来需要指定域名:
存根收到错误数据?
session.ExecutableProcessUserName = "user@domain";
旁注:将
SessionOptions.SshHostKeyFingerprint
设置为 session.ScanFingerprint
返回的值只是不安全的 SshHostKeyPolicy.SshHostKeyPolicy = SshHostKeyPolicy.GiveUpSecurityAndAcceptAny
的无效等价物。