我正在尝试将所有服务器切换为 ssh 密钥身份验证登录。我已将其与一些服务器配合使用,但不知何故我的新 centos 服务器无法正常工作。
我在 Windows 上使用 Putty。
我已经在 sshd_config 中启用了密钥认证并重新启动了它。
我还拒绝了 root 登录并创建了一个可以使用密码登录的新用户。
我以该用户身份登录服务器,在我的 ~ 目录中创建一个 .ssh 文件夹,然后创建一个可以复制我的密钥的 authorized_keys 文件。然后我将 .ssh 目录 chmod 为 700,然后将文件 chmod 为 640。
我尝试登录并收到拒绝密钥消息,然后输入密码。
我究竟做错了什么?
这是我的 sshd_confighttps://gist.github.com/alexhackney/64a4c99b993505a9e44f 这是安全日志https://gist.github.com/alexhackney/90319feb853e18a2fd48
我以安全方式运行尾部,然后在另一个窗口上登录并退出,然后再次运行该命令。
答案1
确认新用户的主目录设置为仅对该用户具有读/写权限(即权限为 700)。.ssh 目录的权限为 700 是不够的,主目录也需要为 700。另外,我认为 AuthorizedKeysFile 的参数在 .ssh/authorized_keys 之前不需要 ~/。我的系统没有它也能正常工作。