我最近创建了我的通过 ssh-keygen -t rsa -f ~/.ssh/my_keyname -C pebaken 的密钥对
所以我查看了位于我的主用户目录中的 .ssh 文件夹,发现了 2 个密钥my_keyname.pub和我的键名以及一个名为“authorized_keys”的文件夹。
我尝试使用公钥my_keyname.pub连接到我的虚拟机时,我得到>已断开连接:没有可用的受支持的身份验证方法(服务器发送:公钥)
我以为公钥应该是你保留的那个私钥会留在服务器上吗?
然后我尝试了没有任何扩展名的密钥,将其放入 puttygen 中并立即得到 > 成功导入外键(OpenSSH SSH-2 私钥(旧 PEM 格式))。要将此密钥与 Putty 一起使用,您需要使用“保存私有”命令将其保存为 Putty 自己的格式。
我到底是否使用了私钥,因为它有效并且我成功连接到了我的虚拟机。
答案1
就在名字里。
私钥是您自己保管的密钥,切勿与任何人共享,最好使用密码对其进行加密。
公钥可以分发到任何地方,您可以在任何地方以纯文本形式发布它。
公钥需要在远程服务器上确认您拥有适当的密钥,私钥不应离开您的本地环境。
公钥可以从私钥导出。
验证 ssh 客户端时,将向远程服务器提供一个公钥(将从本地私钥派生)。服务器将确认公钥能够对其进行身份验证,并提供除非您拥有私钥否则无法回答的质询。您的客户端使用您的私钥回答挑战,远程服务器让您登录。