You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Windows10下连接EC2实例提示Permission denied (publickey)错误如何解决

EC2 SSH连接Permission denied (publickey)故障排查与解决

1 基础配置校验

  • 确认登录用户名正确性:不同EC2镜像的默认登录用户名不同,你使用的admin仅部分镜像支持,常见镜像对应用户名如下:
    • Amazon Linux 2/2023:ec2-user
    • Ubuntu:ubuntu
    • CentOS 7/8:centos
    • RHEL:ec2-user或root
    • Debian:admin或root
  • 确认密钥文件匹配:当前使用的.pem文件必须是该EC2实例创建时绑定的密钥对文件,不存在错用其他实例密钥的情况
  • 确认安全组规则:实例绑定的安全组入方向需放开你当前Windows设备公网IP的22端口访问,禁止放开0.0.0.0/0的22端口避免安全风险

2 Windows本地密钥文件权限调整

SSH对密钥文件权限有严格要求,Windows下权限过高会直接拒绝连接,调整步骤如下:

  • 找到本地.pem文件,右键选择「属性」-「安全」选项卡,点击「高级」
  • 点击「禁用继承」,选择「将继承的权限转换为此对象的显式权限」
  • 删除权限列表中除了你的当前Windows登录用户之外的所有主体(包括Administrators组、Users组等)
  • 仅保留当前用户的「读取」权限,取消其他所有权限的勾选
  • 点击「应用」保存所有修改

3 连接命令校验

正确的SSH连接命令格式如下,注意路径有空格时必须用双引号包裹密钥路径:
ssh -i "C:\Users\你的本地用户名\对应存储路径\密钥文件名.pem" 正确的登录用户名@ec2-*******-*1.us-east-2.compute.amazonaws.com

4 调试模式定位深层问题

如果以上操作完成后仍然报错,可添加-v参数开启SSH调试模式,输出详细连接日志定位问题:
ssh -v -i "你的密钥文件路径" 正确的登录用户名@实例公网地址
常见调试日志对应解决方案:

日志出现no mutual signature algorithm:实例SSH服务不支持当前客户端默认签名算法,添加参数指定算法即可:
ssh -i 密钥路径 -o PubkeyAcceptedKeyTypes=+ssh-rsa 用户名@实例地址
日志出现key is too open:密钥文件权限修改不符合要求,回到第二步重新调整权限

内容的提问来源于stack exchange,提问作者Shrutika Jaiswal

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.04 16:06:03