Linux互信及互信失效问题

  • Linux互信的由来

在当前的服务器操作系统中,Linux操作系统占多数,接触过Linux系统的人都知道:通常情况下,登陆Linux系统需要输入用户名和密码。
用户名和密码本身是一种安全认证机制,可以很好地增加系统的安全性,但另一方面,这种认证机制在某些场景下就显得不太方便了。
比如需要在两台Linux之间频繁的拷贝文件(scp命令),每次都要输入用户密码就显得太麻烦了。
又比如,在系统故障应急时,需要通过堡垒机转登陆到其他Linux机器,需要输入用户密码就太浪费时间了,一是密码要随时记着,不记得还登陆不了,二是输入密码需要时间,这就无形地增加了应急的时间开销。你可知道,大型企业的重要系统应急时间是非常宝贵的,分秒必争。
因此,为了登陆Linux系统而不需要输入密码,Linux互信便应运而生。

  • Linux互信的内涵

Linux互信,顾名思义,就是Linux系统间互相信任。如何信任?那就是登陆Linux系统只需指定用户名即可,不需要输入密码。
例如:ssh user@192.168.1.1便可直接登陆192.168.1.1的user用户。
又例如传输文件:scp test.txt user@192.168.1.1,可以免密码拷贝文件。

  • Linux互信的实现

Linux互信的实现,主导思想是:将公钥传给远程机器,登陆远程机器时,便可免密登陆。
其实现过程主要分为两步:
第一步:本地生成ssh公钥。命令如下:
ssh-keygen -t rsa
第二步:将本地的ssh公钥拷贝到远程机器上。命令如下:
ssh-copy-id -i ~/.ssh/id_rsa.pub user@192.168.1.1

  • Linux添加互信失败

在实际操作中,按照添加互信的步骤添加互信后,也可能出现很奇怪的现象:连接(ssh或者scp等)远程互信的机器还是需要输入密码,之前此方法在其他场景中屡试不爽,现如今确失灵了,难免很郁闷。
出现了问题,得分析,从哪里入手分析呢?这时我们想到了日志,如果有个地方记录了日志,那么就可以看看日志中是否有相关报错,然后根据报错信息进行分析。
果不其然,Linux记录了其他机器连接本机的日志,这个日志就是/var/log/secure,这个文件的权限可能只有root才能访问,具体看机器的设置。通过查看日志内容,出现了如下报错信息:
Authentication refused: bad ownership or modes for directory /home/HisData
备注:我实验中,连接是远程机器的HisData用户。
通过日志可以看出,免密登陆被拒绝了,难怪添加互信后还需要输入密码。
根据报错信息,我们进一步分析得出:应该是/home/HisData目录的权限或者模式不对。
经过反复实验试错,我们得出以下结论:
/home/HisData目录权限有问题,正确的权限如下:
u(本用户):一定要有x(可执行)权限;
g(本组用户):不能有写权限;
o(其他组用户):不能有写权限;
按照目录权限的要求更改目录权限,互信添加失败问题得到解决,访问远程机器不需要输入密码。

  • 总结

1、Linux互信可以解决免密码访问的问题;
2、出现了问题,从日志入手分析,互信访问日志为/var/log/secure;
3、添加互信是有条件的,否则添加不成功。条件就是远程机器的/home/user(具体用户)目录权限要满足以下要求:u(本用户):一定要有x(可执行)权限;g(本组用户):不能有写权限;o(其他组用户):不能有写权限。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

任天地

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值