惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Martin Fowler
Martin Fowler
大猫的无限游戏
大猫的无限游戏
J
Java Code Geeks
罗磊的独立博客
雷峰网
雷峰网
G
Google Developers Blog
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
爱范儿
爱范儿
B
Blog RSS Feed
腾讯CDC
Apple Machine Learning Research
Apple Machine Learning Research
D
Docker
Recent Announcements
Recent Announcements
T
Tailwind CSS Blog
博客园 - 聂微东
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
Vercel News
Vercel News
小众软件
小众软件
人人都是产品经理
人人都是产品经理
云风的 BLOG
云风的 BLOG
IT之家
IT之家
Blog — PlanetScale
Blog — PlanetScale
I
InfoQ
S
SegmentFault 最新的问题

Ridic

一个关于映射度的问题 买原版书遇到的坑 区域不变性及相关应用 Klein瓶的高维推广 待解决的问题 一些待整理的资料 记录一些想看的书和课程 在服务器中部署Overleaf 高等代数习题课-记录 关于学习过程的“参数权重”设置 从今天开始写一些东西 不定积分练习 国内Docker镜像代理 《上海高考指南》数学部分阅读与分析 函数关于两点对称问题 数学笔记-第八周 数学笔记-第七周 二模前复习总结 6 数学笔记-第六周 将 word 中的 Mathtype 公式转为 Latex 原创一题 为什么高中数学题越来越难 有趣的开源项目整理 5 4 3 上海高考数学压轴题 2023年普通高中学业水平模拟测试 2
Linux 相关操作
Tom · 2023-06-22 · via Ridic

折腾 Linux 机器时经常遇到烦人且偏僻的问题,解决起来比较麻烦,在此记录。

1. 配置 SSH 白名单

第一种方法

在 ssh 设置中修改。修改/etc/ssh/sshd_config文件,在末尾加入

allowusers root@192.168.1.1

(其中192.168.1.1换为客户端ip)

也可将放行的 ip 换为任意的 cidr 块,如下

allowusers root@192.168.1.0/24  # 放行 192.168.1.*
allowusers root@172.16.0.0/12   # 放行 172.16.0.1 - 172.31.255.254

最后重启 ssh 服务:systemctl restart sshd.service

更多的 cidr 块转换,可使用 cidr计算器

很好用的 cidr 计算工具

第二种方法

修改host.allowhost.deny。按照如下方法:

# /etc/hosts.allow
sshd:192.168.1.1

# /etc/hosts.deny
sshd:all

最后重启 ssh 服务:systemctl restart sshd.service

此种方法可能不支持部分 cidr 段,会在 ssh 服务重启后报错,以自身使用情况为准。

host.allow和host.deny不生效

参考

在部分机器上设置此种端口限制后不生效,非白名单内 ip 仍能通过 ssh 连接,解决方法如下:

hosts.allow和hosts.deny属于tcp_Wrappers防火墙的配置文件,而用tcp_Wrappers防火墙控制某一服务访问策略的前提是,该服务支持tcp_Wrappers防火墙,即该服务应用了libwrapped库文件。

查看某服务(如ssh)是否应用了libwrapped库文件的方法是:

ldd /usr/sbin/sshd |grep libwrap.so.0

没有显示,表示此服务器上安装的SSH没有应用libwrapped库文件,也就不能用tcp_Wrappers防火墙控制访问策略。(一般情况下服务器默认安装的SSH都是支持libwrapped库文件,这台服务器不清楚为什么不支持)

最终解决方法是重新安装SSH。

yum -y remove openssh

yum -y install openssh

yum -y install openssh-server

安装完成后再次查看是否应用了libwrapped库文件,显示支持。

ldd /usr/sbin/sshd |grep libwrap.so.0

        libwrap.so.0 => /lib64/libwrap.so.0 (0x00007f3fb7f09000)

再测试SSH登陆,配置生效。

注意事项

务必看清 ssh 放通的用户是否正确,如放通git用户则需写成git@xxx而非root@xxx,若不慎写错,可能得花许多时间找这个问题…