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伪终端。

相关推荐
邂逅星河浪漫2 分钟前
【银行内网开发-管理端】Vue管理端+Auth后台开发+Nginx配置+Linux部署(详细解析)
linux·javascript·css·vue.js·nginx·html·前后端联调
JJay.4 分钟前
Android BLE 稳定连接的关键,不是扫描,而是 GATT 操作队列
android·服务器·前端
SilentSamsara11 分钟前
TCP 三次握手:连接建立失败的那些坑
运维·服务器·网络·网络协议·tcp/ip
码农小钻风35 分钟前
利用Samba实现局域网跨平台共享文件
linux·samba·共享
LN花开富贵1 小时前
【ROS】鱼香ROS2学习笔记二
linux·笔记·python·学习·嵌入式
code tsunami1 小时前
如何在车辆数据自动化中解决Cloudflare Turnstile
运维·microsoft·自动化
GS8FG1 小时前
Busybox生成根文件系统,并移植e2fsprogs:RK3568
linux·驱动开发
翼龙云_cloud2 小时前
亚马逊云代理商:CloudWatch Agent 全解析 5 步实现服务器监控
运维·服务器·云计算·aws·云服务器
Cyber4K3 小时前
【Nginx专项】基础入门篇:状态页、微更新、内容替换、读取、压缩及防盗链
linux·运维·服务器·nginx·github
shining4 小时前
当拿到一个新服务器时所需准备工作
linux·程序员