SSH localhost免密码后依然需要输入密码问题的解决

按理说ssh localhost是非常简单的一个操作。

ssh localhost步骤

生成秘钥

使用下面的命令即可生成秘钥

ssh-keygen -t rsa

免密码登录

使用下面的命令即可免密码登录localhost

ssh-copy-id localhost

但是到了这里执行ssh localhost的时候依然提示我输入密码。我仔细分析了原因,一般来讲失败的原因有两个。

失败原因之一:.ssh及其下属子文件的权限问题

首选.ssh目录权限是700, 两个dsa 和 rsa的 私钥权限是600,其余文件权限是644.

下面列出.ssh目录及子文件的权限表:

drwx------ 2 root root 4096  1月 28 23:03 ./
drwxr-xr-x 9 root root 4096  1月 28 23:03 ../
-rw------- 1 root root  394  1月 28 23:03 authorized_keys
-rw------- 1 root root 1679  1月 28 23:03 id_rsa
-rw-r--r-- 1 root root  394  1月 28 23:03 id_rsa.pub
-rw-r--r-- 1 root root 1776  1月 28 23:03 known_hosts

失败原因之二:.ssh父目录的权限问题

我的.ssh文件夹绝对路径是/root/.ssh,所以/root目录的权限应该是755。这次我的问题就出现在这里。

下面关于SSH相关的文章您也可能喜欢,不妨参考下:

相关推荐