Я разрабатываю клиент SFTP WinSCP с использованием C# (сборка .NET). В моей тестовой среде я сделал это с помощью аутентификации по паролю. Вот мои варианты сеанса:Как использовать .crt-файл для проверки подлинности открытого ключа SSH
// Setup session options
SessionOptions sessionOptions = new SessionOptions {
Protocol = Protocol.Sftp,
HostName = "example.com",
UserName = "user",
Password = "mypassword",
SshHostKeyFingerprint = "ssh-rsa 2048 xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx"
};
Но у реальной среды нет пароля для пользователя. Администратор сервера предоставляет открытый ключ с расширением «.crt»
Итак, используя этот открытый ключ, как я могу изменить свою программу (SessionOptions
)?
Достаточно ли этих данных для продолжения этой реализации?
Предварительный просмотр Crt файла
Вы уверены, что используете SFTP? Файл '.crt' выглядит как сертификат, что используется с TLS/SSL (возможно, FTPS = FTP через TLS/SSL), а не с SSH (SFTP). Также вам нужен закрытый ключ, а не открытый ключ (но '.crt' может содержать оба). Вы должны сгенерировать свой закрытый ключ самостоятельно, вы не должны получать его от администратора. Таким образом, другая путаница может заключаться в том, что для аутентификации используется сертификат сервера, а не сертификат вашей учетной записи. –
Спасибо, Мартин ... Можете ли вы дать мне несколько шагов, чтобы сделать аутентификацию открытого ключа SFTP? – Suravi
Нет, если вы не ответили хотя бы на один из моих вопросов выше. Я не видел файл '.crt', используемый для аутентификации открытого ключа SFTP. Как выглядит файл при его открытии (в текстовом редакторе)? Получали ли у вас информацию/документацию от администратора о том, как ее использовать (даже если для другого клиента/инструмента)? –