linux配置ssh无密码登录失败的一种原因

先说一下步骤,如下

参考:https://www.cnblogs.com/rickiyang/p/11074203.html

1、安装ssh

直接 sudo apt-get install openssh-server

2、查看ssh运行状态

ps -e | grep ssh
如果发现 sshd 和 ssh-agent 即表明 ssh服务基本运行正常

3、生成公钥和私钥

ssh-keygen -t rsa

4、将公钥追加到文件

cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

5、测试ssh localhost 如果不用输入密码即可以登录

6、失败原因之一:

可能是.ssh以及其下属的子文件的权限问题
设置.ssh目录的权限为700.rsa的权限是600,其余的是644

-rw-rw-r-- 1 uploaduser uploaduser  402 Nov 23 10:06 authorized_keys
-rw------- 1 uploaduser uploaduser 1679 Nov 23 10:05 id_rsa
-rw-r--r-- 1 uploaduser uploaduser  402 Nov 23 10:05 id_rsa.pub
-rw-r--r-- 1 uploaduser uploaduser  352 Nov 23 10:06 known_hosts

.ssh的父级目录权限应该是755,即home下当前登陆用户文件。如果有权限不对的可以看一下

网上说的免密登录失败原因有许多基本这些文章中都提到啦,譬如

解决SSH免密登录配置成功后不生效问题_ssh免密登录配置不生效-CSDN博客

CentOS系统SSH免密后依然需要输入密码(已解决)-腾讯云开发者社区-腾讯云

需要注意的是查询日志的地方有所不同,可能有的和我相同

cat /var/log/auth.log

那么在这里再报一种免密登录可能失败的情况,查看日志发现

sshd[30850]: pam_unix(sshd:auth): authentication failure; logname=

前后面部分内容隐去,只列出这种原因,在于哪儿呢?第三步生成公钥和私钥,加密方式的选择有rsa,dsa,ecdsa,之前选择使用dsa,通过修改文件夹权限,修改/etc/ssh/sshd_config都无法解决物体。换成rsa之后,立刻问题解决,也请大家注意。

你可能感兴趣的:(linux,ssh,运维)