看了很多解决方案都没有解决,最终找到如下解决方案,关键问题是权限问题。
确保主目录下的文件权限正确。在本示例中,ec2-user 为用户名。以下是正确权限的列表:
- Linux 主目录(例如 /home)应为 (0755/drwxr-xr-x)。
- 用户的主目录(例如 /home/ec2-user/)应为 (0700/drwx------)。
- .ssh 目录权限(例如 /home/ec2-user/.ssh)应为 (0700/drwx------)。
- authorized_keys 文件权限(例如 /home/ec2-user/.ssh/authorized_keys)应为 (0600/-rw-------)。
如果此权限与上述值不匹配,则运行以下命令。
$ sudo chown root:root /home
$ sudo chmod 755 /home
$ sudo chown ec2-user:ec2-user /home/ec2-user -R
$ sudo chmod 700 /home/ec2-user /home/ec2-user/.ssh
$ sudo chmod 600 /home/ec2-user/.ssh/authorized_keys