2014-03-14 45 views
1

我正在使用Tamir.SharpSSH进行SFTP连接。我有服务器的主机,端口,用户名,密码和服务器的指纹。在SharpSSH中验证指纹

我可以在没有指纹的情况下连接到服务器。有什么办法可以在连接之前匹配我与服务器的指纹?

以下是用于连接我的C#.NET代码:

Sftp sftp = new Sftp(serverHost, userName, password); 
try 
{ 
     if (portNumber > 0) sftp.Connect(portNumber);     
     else sftp.Connect(); 
     sftp.Put(localFullFilePath, remoteFolder);     
} 

回答

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;