ssh免密登陆失败原因总结(Linux)

1. SSH公钥认证(免密码)配置
登录到本机服务器A,切换到响应的操作系统用户,执行命令,生成秘钥文件【按照提示直接回车】
ssh-keygen -t rsa
将公钥传送到对端服务器B上面【user@host为对端服务器帐号及IP】
ssh-copy-id -i ~/.ssh/id_rsa.pub  user@host
然后在本机服务器A上ssh命令验证是否免密码登录生效【user@host为对端服务器帐号及IP】
ssh user@host

2. SSH免密码登陆的基本原理

SSH(Secure Shell)是一种通信加密协议,加密算法包括:RSA、DSA等

技术分享图片

3. SSH免密码失败原因定位分析

a) 服务器B上.ssh目录的权限必须是700

b) 服务器B上.authorized_keys文件权限必须是600或者644

c) 服务器B上用户家目录文件权限必须是700,比如用户名是aischang,则/home/aischang这个目录权限必须是700

如果不是700,在服务器A上查看/var/log/secure文件会报错

#原因
sshd为了安全,对属主的目录和文件权限有所要求。如果权限
不对,则ssh的免密码登陆不生效。

d) 服务器B上SELinux关闭为disabled,可以使用命令修改setenforce 0 ,查看状态的命令为getenforce或者 查看/etc/selinux/config 文件中是否是disabled

e) 有可能是StrictModes问题

编辑 vi /etc/ssh/sshd_config

找到#StrictModes yes改成StrictModes no

f) 有可能是PubkeyAuthentication问题

编辑 vi /etc/ssh/sshd_config

找到PubkeyAuthentication改成yes

技术分享图片

如果还不行,可以在服务器A上用ssh -vvv 机器B的ip 查看详情,根据输出内容具体问题具体分析了

参考资料:https://blog.51cto.com/wutengfei/2045484

评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值