我想要做的是将 key 复制到另一台主机。
ssh-copy-id -i ~/.ssh/id_rsa user@host
我得到错误:
/usr/bin/ssh-copy-id: 错误: 未能打开 ID 文件 '[homedir].ssh/id_rsa.pub':
所以没有公钥。那么它在哪里呢?我尝试使用命令
sudo find / -name id_rsa.pub
但它只找到了我在我的测试目录中通过实验生成的一个。我尝试从测试目录发送实验,但是它不断地询问释义并且在我继续粘贴时不发送。
所以有问题。
我可以使用
ssh-keygen -t rsa
但随后它尝试使用 ~./.ssh 目录
并想要覆盖私有(private) id_rsa key 。恐怕这可能会刹车。
那么如何获取我的公钥文件呢?
最佳答案
以防万一其他人来这里寻找 OP 问题的答案......并直接回答该问题(即,如何在 .pub key 丢失的情况下重新生成它,而您只有私钥)...
这是答案:
从私钥重新生成 .pub key
ssh-keygen -y -f ~/.ssh/id_rsa > ~/.ssh/id_rsa.pub
-y
option 是指示 ssh-keygen
的命令输出您的公钥。这将重新生成该对的 .pub 部分。正如 OP 指出的那样,如果您只是生成一对新 key 并替换旧的私钥,您将无法访问您已经向其提供公钥的任何服务器。当然,您可以完成向这些服务器提供新公钥的过程,但是如果可以轻松避免,为什么还要经历这些麻烦呢?
关于ssh - 在 unix 服务器中找不到 id_rsa.pub。我可以再生它吗? id_rsa(私钥)存在,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26421475/