Linux下禁止root远程登录访问

开始讲故事

Long long ago, Linux远程访问方式有telnet、ssh两种协议;有人可能还会说vnc和rdp协议方式,后面这两种主要是可视化桌面场景下的,并非主流。

时过境迁,telnet因安全性低逐渐被禁用淘汰,最后就剩下独苗一棵ssh。使用ssh管控设备总该安全了吧!No~你不能直接使用root远程登录设备。

基于上面故事情节,我们只对sshd服务禁用root远程访问展开聊聊。禁用root远程登录的方法很多,总体而言两类:1、sshd自身提供能力;2、基于PAM模块能力。

sshd自身提供能力(最简单)

确保PermitRootLogin no被配置

~]# grep -i Root /etc/ssh/sshd_config

PermitRootLogin yes

基于PAM(Pluggable Authentication Modules)模块能力

基于PAM可以使用Modules实现相关功能,例如:pam_securetty.so或pam_listfile.so。相对简单的是pam_securetty,pam_listfile不太常用(后面我们再出一篇展开讲讲)。

centos7

1、在centos7中pam_securetty默认在/etc/pam.d/login (对telnet或控制台登录有效)中配置

~]# grep -i pam_securetty /etc/pam.d/login

auth [user_unknown=ignore success=ok ignore=ignore default=bad] pam_securetty.so

2、由/etc/securetty起到白名单作用,该文件不存在,则上述配置失效。

~]# ll /etc/securetty

-rw-------. 1 root root 221 Apr 1 2020 /etc/securetty

国产Linux(Anolis8)

1、默认pam包中包含pam_securetty,但,不再默认定义到/etc/pam.d/login ;/etc/securetty文件也不存在。

配置禁止root远程访问sshd

1、确保/etc/pam.d/sshd首行配置了pam_securetty.so

~]# grep -i pam_securetty /etc/pam.d/sshd

auth [user_unknown=ignore success=ok ignore=ignore default=bad] pam_securetty.so

2、确保/etc/securetty文件存在且为空。

总结

如果PermitRootLogin no和securetty都配置了,肯定也没毛病。如果要临时放开root远程访问就要一一拆除。securetty文件本身是登录设备白名单,不同版本操作系统下对ssh管控设备名不太一样:

~]# who

root pts/0 2024-12-04 13:48 (192.168.xx.xxx)

如上回显中pts/0就是一种终端设备:/etc/securetty值类型:①tty:终端 ②pts:伪终端 ③console:当前的控制台 ④vc:visual console虚拟控制台 ⑤vt:虚拟终端 ⑥hvc ⑦hvsi ⑧xvc等。

但是,经我测试,在Anolis8中,如果要临时允许root远程ssh,则需要配置ssh到/etc/securetty,而不是pts伪终端。

相关推荐
天赐学c语言18 分钟前
Linux - 网络应用层协议HTTP
linux·c++·网络服务
JiMoKuangXiangQu32 分钟前
Linux 锁 (3) - semaphore
linux·semaphore
学不完的33 分钟前
Docker 的安全优化
运维·安全·docker·容器·eureka
老星*33 分钟前
1Panel:现代化开源Linux服务器运维管理面板
运维·服务器·开源
七七powerful35 分钟前
运维养龙虾--使用腾讯workbuddy部署ssh-mcp-server允许通过 MCP 协议远程执行 SSH 命令
运维·ssh·ssh-mcp
twc82937 分钟前
打造专属 MCP Server 测试自动化的私有化解决方案
运维·软件测试·人工智能·自动化·mcp server
顶点多余40 分钟前
Linux中进程间通信 ---管道篇
linux·运维·服务器
zzzsde43 分钟前
【Linux】进程控制(2):进程等待&&进程替换
linux·服务器·网络
实在智能RPA44 分钟前
实在 Agent 支持哪些企业业务场景的自动化?全行业智能自动化场景深度拆解
java·运维·自动化
longxibo1 小时前
【Ubuntu datasophon1.2.1 二开之八:验证实时数据入湖】
大数据·linux·clickhouse·ubuntu·linq