从私钥创建公共 SSH 密钥?

Ama*_*rus 245 encryption ssh private-key public-key

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

Kyl*_*ndt 290

使用 ssh-keygen 的 -y 选项:

ssh-keygen -f ~/.ssh/id_rsa -y > ~/.ssh/id_rsa.pub
Run Code Online (Sandbox Code Playgroud)

来自'man ssh-keygen'

 -y      This option will read a private OpenSSH format file and print an
         OpenSSH public key to stdout.
Run Code Online (Sandbox Code Playgroud)

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

  • 为什么是“-t dsa”?Mayge OP 的关键是 rsa?我会摆脱-t,而是使用-f。 (7认同)

小智 6

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

使用的工具:

  • Puttygen(PuTTY 密钥生成器)
  • 赢SCP

执行步骤:

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

显示 Puttygen 部分要聚焦的快照:

显示 Puttygen 部分要聚焦的快照