由于经常ssh到服务器,每次输入密码很烦。就传了本机公钥到服务器。
和所有教程将的一样,做起来挺简单的。
本机ssh-keygen -t rsa生成公钥和密钥。
将公钥传至服务器,用户目录下.ssh/下。
当时为了写文件,我做了如下设置
 chmod 777 -R .ssh
 cd .ssh
 cat id_rsa.pub >> authorized_keys
 一般来说到此,应该就搞定了。
 但是本机ssh到服务器依然每次让输入密码
gong@hzsx:~$ ssh [email protected]
[email protected]'s password: 
这个问题,困扰我很久,半天时间没有解决。后来才想到万能的日志
/var/log/auth.log 中有这句
Jun  3 18:07:05 hzsx-server sshd[29614]: Authentication refused: bad ownership or modes for directory /home/hzsx/.ssh
意味着/home/hzsx/.ssh文件夹权限问题 才想起来这里只允许创建用户由读写权限
于是登陆进服务器
hzsx@hzsx-server:~$ sudo chmod 755 .ssh
这里要755才可以
于是,再次尝试,欢迎界面就来了。
gong@hzsx:~$ ssh [email protected]
Welcome to Ubuntu 13.04 (GNU/Linux 3.8.0-35-generic i686)
 * Documentation:  https://help.ubuntu.com/
Your Ubuntu release is not supported anymore.
For upgrade information, please visit:
http://www.ubuntu.com/releaseendoflife
New release '13.10' available.
Run 'do-release-upgrade' to upgrade to it.
Last login: Tue Jun  3 18:06:01 2014 from hzsx.local
hzsx@hzsx-server:~$ 

需要注意的是,本机密钥目录权限至少700,而600就需要输入密码。

05-02 02:13