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

EC2实例test用户SSH报Permission denied(publickey)问题求助

解决EC2实例test用户SSH公钥认证失败问题

排查步骤及解决方案

  1. 检查test用户家目录权限
    用ubuntu用户登录实例后,先查看test用户家目录的权限:
ls -ld /home/test

权限必须为drwx------(即700),如果不符合,执行以下命令修正:

sudo chmod 700 /home/test

家目录权限过松会被SSH服务判定为不安全,直接拒绝公钥认证。

  1. 检查test用户的.ssh目录及authorized_keys文件
  • 确认.ssh目录存在并设置正确权限:
    ls -ld /home/test/.ssh
    
    如果目录不存在,创建并设置权限:
    sudo mkdir /home/test/.ssh
    sudo chmod 700 /home/test/.ssh
    
  • 检查authorized_keys文件:
    先查看文件是否存在及权限:
    ls -l /home/test/.ssh/authorized_keys
    
    文件权限必须是-rw-------(即600),如果文件不存在,将你使用的pem对应的公钥内容复制进去(可以先把pem文件的公钥导出:ssh-keygen -y -f /path/to/your/key.pem > key.pub,再复制):
    sudo cat /path/to/key.pub >> /home/test/.ssh/authorized_keys
    
    之后修正权限:
    sudo chmod 600 /home/test/.ssh/authorized_keys
    
  • 核心要点:确保.ssh目录和authorized_keys文件的所属用户是test,否则SSH服务会拒绝读取:
    sudo chown -R test:test /home/test/.ssh
    
  1. 验证SSH服务配置(可选)
    检查sshd_config中是否开启了公钥认证:
sudo cat /etc/ssh/sshd_config | grep -i PubkeyAuthentication

确保输出为PubkeyAuthentication yes,如果是no,修改配置后重启SSH服务:

sudo systemctl restart sshd
  1. 重新测试连接
    完成以上步骤后,用test用户重新尝试SSH连接,即可正常登录。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.19 19:37:40