AWS EC2密钥对如何导出到本地MAC用于SSH?是否需新建密钥对?
解决AWS EC2跨设备SSH连接的密钥对问题
嘿,作为同样用Mac折腾AWS的开发者,给你两种清晰的方案,你可以根据安全需求来选:
方案一:共享朋友的现有密钥对(快速但需注意安全)
如果你们信任度很高,想快速搞定,直接用朋友已有的密钥对就行,但一定要通过安全的渠道传输密钥文件(比如加密聊天工具,别用明文邮件):
- 让朋友把他创建密钥对时下载的
.pem文件发给你 - 拿到文件后,打开Mac终端,把文件移到SSH默认目录(方便管理):
mv ~/Downloads/your-friends-key.pem ~/.ssh/ - 关键步骤:修改密钥文件权限,SSH要求密钥不能被其他用户读取,否则会报错:
chmod 400 ~/.ssh/your-friends-key.pem - 现在就可以SSH连接实例了,命令格式是:
ssh -i ~/.ssh/your-friends-key.pem [实例用户名]@[实例公网IP/域名]注意:实例用户名取决于系统,比如Amazon Linux 2是
ec2-user,Ubuntu是ubuntu,CentOS是centos,提前跟朋友确认下。
方案二:创建新密钥对并添加到实例(更安全,推荐)
不想共享敏感密钥的话,自己创建新密钥对,让朋友把公钥加到实例里就行:
- 你自己创建新密钥对:
- 登录AWS EC2控制台,左侧菜单找到「密钥对」,点击「创建密钥对」
- 给密钥对起个名字,格式选
.pem,点击下载,把文件保存到你的~/.ssh/目录 - 同样修改权限:
chmod 400 ~/.ssh/your-new-key.pem - 生成对应的公钥文件(方便发给朋友):
ssh-keygen -y -f ~/.ssh/your-new-key.pem > ~/.ssh/your-new-key.pub
- 让朋友把你的公钥加到实例:
- 朋友先SSH进自己的EC2实例
- 打开
~/.ssh/authorized_keys文件(如果没有就创建):nano ~/.ssh/authorized_keys - 把你发给他的
your-new-key.pub文件里的内容,粘贴到这个文件末尾,保存退出(按Ctrl+O,回车,再Ctrl+X)
- 现在你就可以用自己的新密钥对连接实例了,命令和方案一类似,换成你的密钥文件名就行。
额外注意点
- 不管用哪种方案,都要确保EC2实例的安全组已经开放22端口(SSH),并且允许你的Mac公网IP访问,不然会连不上
- 共享密钥对存在风险,如果密钥泄露,任何人都能访问实例,所以优先推荐方案二
内容的提问来源于stack exchange,提问作者vikramvi




