解决ssh-copy-id 添加公钥到服务器后不然免密登录

用root用户登录服务器,在服务器查看日志,一般日志路径在 /var/log/auth.log 也有可能是 /var/log/secure.log

tail -f -n200 /var/log/auth.log

如果找到类似 Authentication refused: bad ownership or modes for directory 这样的报错,说明ssh相关目录或文件的权限太大了

linux 不允许 /root 有除了自身以外的写权限

去掉其他写权限

chmod go-w ~/

将 .ssh 目录设置为 700

chmod 700 ~/.ssh

将 authorized_keys 设置为 600

chmod 600 ~/.ssh/authorized_keys

退出服务器登录,再用 ssh登录服务器,应该可以直接进入服务器而不用输密码了