首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用公钥身份验证。

使用公钥身份验证。
EN

Server Fault用户
提问于 2013-05-08 06:20:45
回答 2查看 651关注 0票数 -1

我使用secureCRT的公钥身份验证登录linux服务器,并在以下服务器上关闭密码身份验证:

1.使用SecureCRT创建键区(openssh键格式)。

2.将名为identity.pub的公钥猫到$HOME/..ssh/authorized_ key。

3.在服务器会话选项的SSH2类别中,在“身份验证”部分选择“PublicKey”选项,然后按下“属性”按钮,在“属性”对话框中选择“使用会话公钥”设置,然后查找“使用标识”或“证书文件”部分,然后按“文件浏览器”按钮(…)。,然后选择名为identity的私钥。

4.然后我可以使用SecureCRT登录这个服务器并输入键盘的密码,这是很好的。

但是:

在另一台服务器上,服务器上的一切都是相同的。但是在SecureCRT中,我没有选择名为identity的私钥,而是选择了名为identity.pub的公钥。尽管如此,我还是可以以同样的方式登录。

我不明白这怎么可能。

secureCRT是否使用私钥来匹配服务器上的公钥?是吗?

EN

回答 2

Server Fault用户

发布于 2013-05-08 06:40:24

如果我正确理解你的问题,那么是的-你必须告诉SecureCRT使用私钥,而不是公钥。然后,当您登录时,会发生这样的情况:

  1. 您的客户端(在本例中为SecureCRT)启动到服务器的连接,并说“嗨,我想以用户glancesx的身份登录”。
  2. 服务器上说:“当然,如果你能向我证明你真的很棒的话”。这里有一堆数据(“挑战”),我希望你用我可以验证的密钥加密并发送给我。
  3. 客户端使用私钥对挑战进行数学签名,并将其发送回服务器。
  4. 服务器说:“谢谢;让我检查authorized_keys文件中的glancesx,看看您是否使用了glancesx希望我信任的密钥”。如果它找到与您返回的加密数据相匹配的任何密钥,则将允许您进入。

所以这里的要点是必须有两个键--一个在客户端('identity'),一个在服务器端('identity.pub')。与其中一个签名的数据可以与另一个进行验证。

票数 2
EN

Server Fault用户

发布于 2013-05-08 06:55:35

您必须将公钥分发到要登录的服务器(.pub文件),并将私有部分保存在您想要登录的客户机中(将pub文件保存在那里,将来您将需要它来记录另一台服务器)。

在带有openssh的linux机器上,您可以使用ssh-copy-id -i keyfile.pub user@server将密钥的发布部分分发给服务器。

票数 2
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/505897

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档