ssh-copy-id免密码登录失败问题

Home

ssh-copy-id免密码登录失败问题

寻找问题的边界

Directory

一般我们如果希望做到两台服务器之间的免密码登录会习惯使用ssh-copy-id参考:

ssh-copy-id -i ~/.ssh/mykey user@host

交互pubkey后一般就可以直接ssh到远端机器,但是我遇到的问题是,交换key后,一直没有问题。最近突然,ssh会问询密码。

在目标机上面,看日志发现:

> sudo tail -f /var/log/secure
Authentication refused: bad ownership or modes for directory /home/<YOUR_ID>/.ssh

导致这个问题的原因是~/.ssh目录权限问题导致,ssh账户不能有home目录和~/.ssh都有相关组的写权限。家目录写权限只限于你的账户,~/.ssh权限需要是700,相应里面的authorized_keys权限需要是600

将目录权限重新设置成ssh规定的权限等级即可:

> chmod g-w /home/<YOUR_ID>
> chmod 700 /home/<YOUR_ID>/.ssh
> chmod 600 /home/<YOUR_ID>/.ssh/authorized_keys

额…为什么权限目录会突然变了呢,调查后发现是运维人员不小心更动了目录权限…

所以如果想完全避免这种问题,可以考虑在行内指定ssh密码,依赖工具sshpass

sshpass -p 'YourPassword' ssh user@host