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

AWS EC2 SSH连接被拒绝求助:修改目录权限后无法连接

解决EC2因递归修改主目录权限导致SSH无法连接的问题

问题根源

执行sudo chmod -R 755 ./会递归修改当前目录下所有文件和文件夹的权限,若当前目录包含SSH服务依赖的关键文件目录(或直接为系统根目录/),会破坏sshd服务正常运行所需的权限配置,导致sshd无法启动、端口22处于关闭状态;而公网IP变更是因为实例使用动态公网IP,重启后IP自动更换,属于正常行为。

修复步骤

1. 通过EC2串行控制台连接实例

  • 登录AWS控制台,进入目标EC2实例详情页,切换到「连接」选项卡
  • 选择「串行控制台」,点击「连接」(若未启用串行控制台,先按提示完成权限配置)
  • 在串行控制台窗口中,使用实例默认用户(如ec2-user、ubuntu)完成登录验证

2. 修复SSH服务相关权限

  • 检查sshd服务状态:
    # Amazon Linux/CentOS
    systemctl status sshd
    # Ubuntu/Debian
    systemctl status ssh
    
  • 查看服务启动失败日志定位具体权限问题:
    # Amazon Linux/CentOS
    journalctl -u sshd
    # Ubuntu/Debian
    journalctl -u ssh
    
  • 修复常见权限问题:
    • 修正sshd配置文件权限:chmod 600 /etc/ssh/sshd_config
    • 修正SSH主机密钥文件权限:chmod 600 /etc/ssh/ssh_host_*
    • 修正用户主目录权限:chmod 700 /home/[你的用户名](替换为实际用户名,如ec2-user)
    • 修正用户SSH目录及密钥文件权限:
      chmod 700 /home/[你的用户名]/.ssh
      chmod 600 /home/[你的用户名]/.ssh/authorized_keys
      

3. 重启SSH服务并验证

  • 重启服务:
    # Amazon Linux/CentOS
    systemctl restart sshd
    # Ubuntu/Debian
    systemctl restart ssh
    
  • 验证端口22监听状态:
    ss -tulpn | grep 22
    
    若输出包含sshd进程,则说明服务已正常启动

4. 固定公网IP(可选)

  • 若需避免重启实例后公网IP变更,可在AWS控制台为实例分配弹性IP,绑定后IP将保持固定

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.20 10:32:18