ssh 免密登录
(1) 登录jfuser用户 执行
ssh-keygen -t rsa
一路回车,最后再 /home/jfuser/.ssh/ 下生成密钥
(2) 拷贝key到目标服务器
ssh-copy-id ip
输入ip对应服务器密码
(3)ssh ip 免密登录。
遇到问题检查选项
1、用户工作目录 例如 jfuser
sudo cat /etc/passwd | grep jfuser
2、 jfuser用户目录/home/jfuser/、/home/jfuser/ .ssh 文件夹、/home/jfuser/ .ssh/authorized_keys 文件权限
用户目录权限为 755 或者 700,就是不能是77x。
.ssh目录权限一般为755或者700。
rsa_id.pub 及authorized_keys权限一般为644
3、AuthorizedKeysFile 设置目录
cat /etc/ssh/sshd_config |egrep AuthorizedKeysFile
遇到的问题以及处理的详细过程
1、打开 /var/log/messages
报错:Authentication refused: bad ownership or modes for file /home/jfuser.ssh/authorized_keys
原因:
sshd为了安全,对属主的目录和文件权限有所要求。如果权限不对,则ssh的免密码登陆不生效。
用户目录权限为 755 或者 700,就是不能是77x。
.ssh目录权限一般为755或者700。
rsa_id.pub 及authorized_keys权限一般为644
rsa_id权限必须为600
2、message中无任何报错,无法登录
打开 /var/log/secure
(1)日志中 jfuser 工作目录设置错了,修改jfuser 工作目录
sudo usermod -d /home/jfuser jfuser
(2)查看 AuthorizedKeysFile 设置,发现同工作目录设置错了类似,AuthorizedKeysFile 文件目录也设置错了。
cat /etc/ssh/sshd_config |egrep AuthorizedKeysFile
修改, sudo vi /etc/ssh/sshd_config 中 AuthorizedKeysFile 为正确的选项。
重启sshd 服务
sudo service sshd restart
通过1、2 发现,根本原因是用户默认工作目录设置错误了。
重新免密登录,成功!!