部署Angular应用时无法访问AWS EC2实例的权限问题
解决VS Code Remote连接AWS EC2时的Permission denied错误
密钥格式不匹配:AWS EC2用于SSH连接的是
.pem格式的私钥文件,你使用的.cer是证书格式,并非SSH私钥。先确认是否是密钥文件后缀名被误改,若是则改回.pem;如果确实只有.cer文件,需要去AWS控制台重新生成EC2密钥对,下载新的.pem私钥。SSH配置语法错误:你的配置中
HostName和User后面多了冒号,正确的配置格式如下:
Host server HostName 你的EC2实例公网IP User ec2-user IdentityFile ~/ssh/key-pair.pem
密钥文件权限不符合SSH要求:SSH对私钥文件的权限限制很严格,必须仅允许文件所有者读写:
- Linux/macOS系统下,在终端执行命令修改权限:
chmod 600 ~/ssh/key-pair.pem - Windows系统下,右键密钥文件→属性→安全→高级→点击「禁用继承」→删除所有现有权限条目→仅给当前登录用户添加「读取」权限。
- Linux/macOS系统下,在终端执行命令修改权限:
先通过终端验证连接有效性:先抛开VS Code,用本地终端的原生SSH命令测试连接:
ssh -i ~/ssh/key-pair.pem ec2-user@你的EC2实例公网IP如果终端能成功连接,再回到VS Code的Remote Explorer重新加载配置尝试连接;如果仍报错,检查EC2实例的安全组是否开放了22端口,以及实例是否绑定了正确的密钥对。
内容的提问来源于stack exchange,提问作者Xyz.WebDeveloper
相关产品推荐
相关产品推荐

