我正在使用Tamir.SharpSSH来建立SFTP连接。我有服务器的主机,端口,用户名,密码和服务器的指纹。
我可以在没有指纹的情况下连接到服务器。在建立连接之前,有没有办法让我的指纹与服务器匹配?
以下是我的C#.Net连接代码:
Sftp sftp = new Sftp(serverHost, userName, password);
try
{
if (portNumber > 0) sftp.Connect(portNumber);
else sftp.Connect();
sftp.Put(localFullFilePath, remoteFolder);
}
答案 0 :(得分:0)
您是否尝试过使用known_hosts文件? 我使用下面的代码解决了这个问题。
var jsch = new JSch();
var sr = new StreamReader(File.Open(@".\known_hosts", FileMode.Open));
jsch.setKnownHosts(sr);
var session = jsch.getSession("user_name", "host");
var sftp = session.openChannel("sftp") as ChannelSftp;