【发布时间】:2014-11-13 15:28:15
【问题描述】:
我正在使用 C#(.NET 程序集)开发 SFTP WinSCP 客户端。在我的测试环境中,我通过密码验证来做到这一点。以下是我的会话选项:
// 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 over TLS/SSL),而不是与 SSH (SFTP) 一起使用。您还需要一个私钥,而不是公钥(但.crt可能同时包含两者)。你应该自己生成你的私钥,你不应该从管理员那里得到它。所以另一个混淆可能是它是服务器的证书,而不是用于身份验证的帐户证书。 -
谢谢你,Martin...你能给我一个如何进行 SFTP 公钥认证的步骤吗?
-
不,除非你至少回答了我上面的一些问题。我还没有看到用于 SFTP 公钥身份验证的
.crt文件。当您打开文件时(在文本编辑器中)该文件是什么样的?您是否从管理员那里获得了有关如何使用它的任何信息/文档(即使用于其他客户端/工具)? -
我添加了
.crt文件的图像。实际上我想要SFTP 客户端。我使用密码身份验证完成了它。但是现在服务器管理员说他不能提供密码并使用公钥进行身份验证。现在我正在尝试找到方法,如何进行此身份验证。之后,我可以向服务器管理员说我需要从他那里得到什么 -
.crt文件有多大?
标签: ssh sftp public-key winscp winscp-net