我想了解openstack keypair create命令与 ssh-keygen 有何不同(两者都创建密钥对,对吗?)。另外,当我向 openstack keypair create 命令提供公钥时,究竟会发生什么?
AFAIK,私钥不能从公钥派生,那么为什么在创建密钥对时可以选择使用已经可用的公钥?
我想了解openstack keypair create命令与 ssh-keygen 有何不同(两者都创建密钥对,对吗?)。另外,当我向 openstack keypair create 命令提供公钥时,究竟会发生什么?
AFAIK,私钥不能从公钥派生,那么为什么在创建密钥对时可以选择使用已经可用的公钥?
你是对的,
openstack keypair create
并且ssh-keygen
可以(但注意:不一定这样做)创建一个可以被与 openssh 兼容的 ssh 服务器理解的密钥对。它们以不同的方式生成,因为 openstack 客户端是用 Python 编写的,而 openssh 是用 C 编写的。但是,给定一个密钥对,我不相信有办法判断它是由 openstack 还是 ssh-keygen 生成的. 换句话说,虽然你不能说它们“完全相同”,但你也不能说它们在任何有意义的意义上是不同的。
使用时
openstack keypair create --public-key <file>
,它假定您希望在您的云服务提供商中提供一个公钥,用于注入虚拟机。仅当您已经可以访问私钥时它才有用。如果您已经有一个用 生成的私钥ssh-keygen
,并且您想使用该密钥通过 ssh 连接到 VM,您将使用此工具。