我在使用putty连接ubuntu14.04时
按照教程
1)linux服务器端生成key
ssh-keygen -t rsa
cat id_rsa.pub >> authorized_keys
2)windows端使用puttygen加载id_rsa,另存为.ppk
3)设置putty
conection->data->auto-login,设置默认用户名
ssh->auth->加载私钥
4)修改配置
sudo vim /etc/ssh/sshd_config
PubkeyAuthentication yes
AuthorizedKeysFile ~/.ssh/authorized_keys
5)设置权限
chmod 755 ~
chmod 700 ~/.ssh
chmod 644 ~/.ssh/authorized_keys
6)重启ssh
sudo /etc/init.d/ssh restart
成功登录了。
但是,之后由于我安装了其他软件,对/home/suqixu的目录权限做了修改,
类似执行了 chmod -R 755 /home/suqixu
之后,我无论如何修改权限,通过ssh key方式,都无法再次登录系统。
一直报Server refused our key
请问,我该如何设置才能解决这个问题。
如果.ssh文件夹的owner不是当用用户,改一下owner试试:
chown $USER:$USER ~/.ssh -R
试了下,似乎没起作用。
@安琪拉的灰烬: service ssh restart 了吗?
@安琪拉的灰烬: 可以看一下日志中的信息:
tail -f /var/log/auth.log
通过日志,发现
Jun 26 02:13:14 localhost sshd[3475]: debug1: trying public key file /root/.ssh/authorized_keys
Jun 26 02:13:14 localhost sshd[3475]: debug1: Could not open authorized keys '/root/.ssh/authorized_keys': Permission denied
J
然后,打开看到,里面的配置似乎存在问题
sudo vim /etc/ssh/sshd_config
PubkeyAuthentication yes
AuthorizedKeysFile ~/.ssh/authorized_keys
改成
PubkeyAuthentication yes
AuthorizedKeysFile /home/suqixu/.ssh/authorized_keys
sudo service ssh restart 就好了。
总结:
开始时,~/.ssh/authorized_keys读取的是 /home/suqixu/.ssh/authorized_keys
当我改变用户目录权限后,似乎就变成了/root/.ssh/authorized_keys
但具体哪个步骤导致了这个问题,我还是没有想明白。
感谢dudu帮忙。
@安琪拉的灰烬: 或者直接注释 AuthorizedKeysFile 试试
@dudu: 注释AuthorizedKeysFile 果然也是可以的。