我使用secureCRT的公钥身份验证登录linux服务器,并在以下服务器上关闭密码身份验证:
1.使用SecureCRT创建键区(openssh键格式)。
2.将名为identity.pub的公钥猫到$HOME/..ssh/authorized_ key。
3.在服务器会话选项的SSH2类别中,在“身份验证”部分选择“PublicKey”选项,然后按下“属性”按钮,在“属性”对话框中选择“使用会话公钥”设置,然后查找“使用标识”或“证书文件”部分,然后按“文件浏览器”按钮(…)。,然后选择名为identity的私钥。
4.然后我可以使用SecureCRT登录这个服务器并输入键盘的密码,这是很好的。
但是:
在另一台服务器上,服务器上的一切都是相同的。但是在SecureCRT中,我没有选择名为identity的私钥,而是选择了名为identity.pub的公钥。尽管如此,我还是可以以同样的方式登录。
我不明白这怎么可能。
secureCRT是否使用私钥来匹配服务器上的公钥?是吗?
发布于 2013-05-08 06:40:24
如果我正确理解你的问题,那么是的-你必须告诉SecureCRT使用私钥,而不是公钥。然后,当您登录时,会发生这样的情况:
所以这里的要点是必须有两个键--一个在客户端('identity'),一个在服务器端('identity.pub')。与其中一个签名的数据可以与另一个进行验证。
发布于 2013-05-08 06:55:35
您必须将公钥分发到要登录的服务器(.pub文件),并将私有部分保存在您想要登录的客户机中(将pub文件保存在那里,将来您将需要它来记录另一台服务器)。
在带有openssh的linux机器上,您可以使用ssh-copy-id -i keyfile.pub user@server将密钥的发布部分分发给服务器。
https://serverfault.com/questions/505897
复制相似问题