AWS EC2 Amazon Linux配置VNC GUI执行SSH命令遇权限报错咨询
命令运行环境说明
- 你整理的
ssh开头的原生命令,适合在Windows 10/11 自带的CMD、PowerShell,或者WSL终端里运行,这类环境默认预装了OpenSSH客户端,可以直接识别ssh指令。 - Putty是图形化SSH工具,不支持直接输入这种命令行格式的ssh指令,要在Putty中实现端口转发和密钥登录,需要走图形界面单独配置参数,直接把ssh命令粘贴到Putty的输入框运行是报错的诱因之一。
Permission denied报错解决方案
如果你选择用CMD/PowerShell运行命令,按以下顺序排查:
- 首先确认密钥文件权限符合要求:Windows环境下需要确保
C:\Users\tlech\Documents\aws/AWS.pem文件只有你当前登录的Windows用户有可读权限,不能开放给其他用户访问。操作步骤:右键pem文件→属性→安全→高级→禁用继承→删除所有继承的权限,仅添加你自己的Windows账号,赋予只读权限即可,权限不符合要求时ssh会直接拒绝调用该密钥。 - 确认实例IP可连通:你当前用的是实例私有IP,需要确保本地电脑和EC2实例在同一个VPC网络内,或者已经通过VPN/专线打通了VPC网络;如果本地在公网环境,需要替换为实例的公网IP,同时确认EC2实例关联的安全组入方向放行了你本地公网IP的22端口(SSH端口)。
- 确认密钥和实例匹配:你使用的
AWS.pem必须是创建该EC2实例时绑定的密钥对,实例启动后无法直接更换其他密钥,密钥不匹配会直接触发权限拒绝报错。 - 你用的是Amazon Linux镜像,默认用户名
ec2-user是正确的,不需要修改。
如果你选择用Putty连接,按以下步骤调整配置:
- Putty不识别原生
.pem格式的密钥,你需要先用Puttygen工具将.pem文件转换为.ppk格式,再在Putty的Connection→SSH→Auth路径下导入转换后的.ppk密钥。 - 端口转发不需要写命令,在Putty的
Connection→SSH→Tunnels路径下配置:Source port填5901,Destination填localhost:5901,点击Add后再正常连接实例即可实现同等的端口转发效果。
内容的提问来源于stack exchange,提问作者tylerlecho
相关产品推荐
相关产品推荐

