高端开发网站系统,wordpress 回复显示,行业网站策划方案,男女做那个的网站开始讲故事
Long long ago#xff0c; Linux远程访问方式有telnet、ssh两种协议#xff1b;有人可能还会说vnc和rdp协议方式#xff0c;后面这两种主要是可视化桌面场景下的#xff0c;并非主流。
时过境迁#xff0c;telnet因安全性低逐渐被禁用淘汰#xff0c;最后就…开始讲故事
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
基于PAMPluggable Authentication Modules模块能力
基于PAM可以使用Modules实现相关功能例如pam_securetty.so或pam_listfile.so。相对简单的是pam_securettypam_listfile不太常用后面我们再出一篇展开讲讲。
centos7
1、在centos7中pam_securetty默认在/etc/pam.d/login 对telnet或控制台登录有效中配置
~]# grep -i pam_securetty /etc/pam.d/login auth [user_unknownignore successok ignoreignore defaultbad] pam_securetty.so
2、由/etc/securetty起到白名单作用该文件不存在则上述配置失效。
~]# ll /etc/securetty -rw-------. 1 root root 221 Apr 1 2020 /etc/securetty
国产LinuxAnolis8
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_unknownignore successok ignoreignore defaultbad] 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当前的控制台 ④vcvisual console虚拟控制台 ⑤vt虚拟终端 ⑥hvc ⑦hvsi ⑧xvc等。
但是经我测试在Anolis8中如果要临时允许root远程ssh则需要配置ssh到/etc/securetty而不是pts伪终端。