Проверка отпечатка пальца в SharpSSH
Я использую 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);
}
1 ответ
Вы пытались использовать файл 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;