it-swarm.cn

从私钥创建公共SSH密钥?

假设我有一个SSH密钥,但是我已经删除了公共密钥部分。我有私钥部分。有什么方法可以重新生成公钥部分?

218
Rory

使用-y选项设置ssh-keygen:

ssh-keygen -f ~/.ssh/id_rsa -y > ~/.ssh/id_rsa.pub

来自“ man ssh-keygen”

 -y      This option will read a private OpenSSH format file and print an
         OpenSSH public key to stdout.

使用-f选项指定私钥,您的私钥可能是dsa而不是rsa。您的私钥名称可能包含您使用的名称。新生成的公钥应与之前生成的公钥相同。

259
Kyle Brandt

解决方案专门针对使用Windows的用户

使用的工具:

  • Puttygen(PuTTY密钥生成器)
  • WinSCP

执行步骤:

  1. 打开PuTTY密钥生成器。
  2. 加载您的私钥(*.ppk文件)。
  3. 从PuTTY密钥生成器的“要粘贴到OpenSSH的公共密钥中”部分复制公共密钥数据,如果要使用它,请将密钥数据粘贴到“ authorized_keys”文件中(使用记事本)。

快照显示了Puttygen需要重点关注的部分:

Snapshot showing portions of Puttygen to focus

6
devprashant