从私钥生成公钥

信息安全 公钥基础设施 密钥生成
2021-09-01 17:51:24

我们可以从私钥生成公钥吗?

1个回答

默认情况下,用户的 SSH 密钥存储在该用户的~/.ssh目录中。您可以通过列出内容来检查您的私钥是否在该目录中:

$ cd ~/.ssh
$ ls
authorized_keys2  id_dsa       known_hosts
config            id_dsa.pub

私钥通常类似于id_dsaor id_rsa要仅使用私钥重新生成公钥部分,请使用应用程序的-y开关ssh-keygen并将输出写入相应的.pub文件:

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.

如果您不知道您的私钥是数字签名算法 (DSA) 还是 Rivest Shamir Adleman (RSA),则必须使用ssh-keygen带有-f开关应用程序确保新公钥的名称与私钥的名称匹配。