在Amazon EC2实例生成密钥对后无法找到/root/.ssh/id_rsa文件
在EC2实例中查找/root/.ssh/id_rsa密钥对的方法
你用sudo ssh-keygen生成的密钥存放在root用户的家目录中,EC2控制台是实例管理界面,不会展示实例内部的文件,必须通过实例终端操作查看:
- 切换到root用户:
sudo su - - 进入.ssh目录并查看文件:
此时就能看到cd ~/.ssh && ls -lid_rsa(私钥)和id_rsa.pub(公钥)两个文件。
如果不想切换root,也可直接用绝对路径查看:
sudo ls -l /root/.ssh/
额外建议
用root用户生成的密钥,后续克隆仓库时必须用sudo执行git命令,否则普通用户无法读取root权限的密钥文件。更规范的做法是使用EC2默认普通用户(Amazon Linux为ec2-user,Ubuntu为ubuntu)生成密钥,无需sudo,权限更安全:
ssh-keygen -t rsa -C "email_id@gmail.com" -b 4096
生成的密钥会存放在/home/ec2-user/.ssh/(对应普通用户的家目录)中,直接用普通用户操作git即可。
内容的提问来源于stack exchange,提问作者Zephyr Sonic
相关产品推荐
相关产品推荐

