ssh 免密码登录(设置后仍需输密码的原因及解决方法)

  按操作步骤操作不行的最可能原因是:文件权限,不论是a机还是要访问的b机的文件的权限都要改成对应的700,600;必须严格是这个权限,否则会出现设置免密fail的情况。

  

  serverA 免密码登录到 serverB

  机器A 向 机器B 进行免密码登陆

  在机器A中生成 私钥和公钥:

  

  命令:ssh-keygen -t rsa,一路回车就行,如果需要passphrase密码,自行输入就行,一路回车passphrase密码为空

  此时在 ~/.ssh/ 目录下生成了公钥(id_rsa.pub)和私钥(id_rsa)

  --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

  把机器A的公钥(id_rsa.pub)复制到机器B ~/.ssh/authorized_keys 文件里,两种常用方法

  方法1:

  方法2:

  修改机器B ~/.ssh/authorized_keys 文件的权限:

  此时如果机器B没有~/.ssh 目录需要手动创建

  --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

  此时机器A可以进行免验证登录 机器B

  参阅网上很多方法后,发现步骤都差不多,但是却屡屡失败,设置完后仍然要输入密码,后面发现了是被登录机器的文件权限问题:

  还有可能这个文件内容被注释了(改成下图的状态):

  

  1 如果还是无法登陆,可能是Linux禁用了root账户ssh登陆,解决方法:

  编辑配置文件

  2 修改    后面的 

  3 重启 sshd 服务: