在Linux上限制远程登陆的IP

回复 收藏
1) 白名单形式

要求: 只允许 192.168.0.1 和 192.168.0.10 登陆 其他全部禁止

实现:  
1. vim   /etc/hosts.allow   //增加如下内容
sshd: 192.168.0.1, 192.168.0.10

2. vim  /etc/hosts.deny   //增加如下内容
sshd:  ALL

2) 黑名单形式

要求: 只限制192.168.0.1登陆上来,其他全部放行

实现:
vim  /etc/hosts.deny   //增加如下内容
sshd: 192.168.0.1

保存配置文件后就可以啦,不用重启。 不用再去编辑 /etc/hosts.allow 了,感谢风合同学提出这个问题,我已经验证!
我们可以这样理解这两个文件工作原理: 当客户端的IP登陆服务器的时候,先去匹配hosts.allow, 如果这里面有这个IP,则直接放行,如果没有这个IP,则看hosts.deny, 如果这里面有该IP(ALL包括一切IP)则拒绝,如果deny中也没有匹配,则也会放行。也就是说,如果这两个文件中都没有限定的IP,则会放行!

请思考: 如果两个文件中都是
sshd: ALL 会出现什么情况?
2013-08-24 23:23 1 条评论 举报
已邀请:
0

xiaofei

赞同来自:

本帖最后由 xiaofei 于 2013-8-27 09:44 编辑

是直接放行吗,hosts.allow的all包含任意ip?
实验已确定
0

第六感

赞同来自:

先去匹配hosts.allow ,当然是直接放行
0

菠萝

赞同来自:

本帖最后由 菠萝 于 2013-8-29 10:29 编辑

如果两个都是ALL , 就是全部都放行的意思吗????
额,不太懂!

allow 是全部允许
deny 是全部拒绝 。。。岂不是矛盾?

明白了、 先看allow  ,全部是ALL之后,就不再看 deny了 {:5_132:}
0

wikilike7

赞同来自:

但是host.allow优先访问,如果这个列表里已经匹配,就不会再适配host.deny
0

eepan

赞同来自:


支持阿明同志,向1000金币进军。
0

eepan

赞同来自:

测试通过,鼎力支持。
0

eepan

赞同来自:

一天几个个金币,何时达到1000
0

eepan

赞同来自:

学习了,发帖发到手累,就1000
0

eepan

赞同来自:

坚持回帖,金币学习两不误
0

eepan

赞同来自:

合理利用规则挣金币
0

eepan

赞同来自:

一天几个个金币,何时达到1000
0

eepan

赞同来自:

挣够金币,给弟兄们使用,就是为了一份承诺
0

eepan

赞同来自:

坚持回帖,金币学习两不误
0

larson

赞同来自:

额,如果两个文件中都是 sshd: ALL   应该是都允许,先查看hosts.allow,如果有IP,就不会再去查看hosts.deny了 ,并不会像windows那样拒绝优先。
0

18695811249

赞同来自:

不错,领教了
0

陈圣涛

赞同来自:

allow和iptables是什么区别,如果allow是允许的,iptables是拒绝的,会是哪个优先
0

银色影迹

赞同来自:

学习而且测试了一下,全是ALL的话是 IP全部放行,先匹配hosts.allow 文件
0

無名世界

赞同来自:

iptables 不是用来抓包的吗?
0

楓瀛夢鞢

赞同来自:

如果都是 sshd: ALL
测试直接放行,先匹配 /etc/hosts.allow
0

寒一

赞同来自:

已验证,收藏
0

zyfeifie

赞同来自:

根据规则,先匹配是否放行,放行,然后就没然后了,deny文件没用了
0

杏雨秋枫

赞同来自:

优先选择allow,所以全部放行!allow>deny
0

simle

赞同来自:

先验验证文件hosts.allow文件,如果有,则放行;后验证hosts.deny,如果有,则该拒绝。
0

simle

赞同来自:

如果sshd:all在两个文件都,应该还是先看hosts.allow 文件,都放行
0

664778717@qq.co

赞同来自:

学习啦。。。收藏
0

Luck_boy

赞同来自:

如果allow中有放行,再看deny ,deny  ssh:all   是不是拒绝所有的,都不放行
0

rolay8

赞同来自:

按优先级来,优先级高的先执行,所以应该是放行
0

369666951

赞同来自:

任何人都无法远程连接主机
0

loading丶

赞同来自:

已经学会!!
0

木树

赞同来自:

本帖最后由 木树 于 2015-12-17 22:04 编辑

如果两个文件中都是  sshd: ALL 是任何IP放行。先匹配allow 如果可以直接放行。不再检查deny.
0

qwerthink

赞同来自:

已经试验,学习了
0

caigui

赞同来自:

学习了
0

jxcia2018

赞同来自:

学习了!!!
0

ckLinux

赞同来自:

很好,又学到一个知识点
0

ckLinux

赞同来自:

按照老师说的方法,本人测试过,通过putty确实有了限制
0

LL-TD

赞同来自:

懂了。先匹配前面的,前面hosts.allow 全部允许 就不用理后面的。
0

ilinux

赞同来自:

先去匹配hosts.allow 匹配到 就不去匹配deny,当然是全都放行了
0

Raymon

赞同来自:

原来白名单和黑名单是这样子配置的
0

has

赞同来自:

学习了
0

80283630

赞同来自:

坚持坚持。找工作中。
0

xiaocheng

赞同来自:

学习到好东西了
0

xiaocheng

赞同来自:

学习到好东西了
0

xiaocheng

赞同来自:

学习到好东西了
0

xiaocheng

赞同来自:

学习到好东西了 给铭哥1000赞{:4_103:}
0

fish

赞同来自:

好好学习  长见识了!
0

u85741980

赞同来自:

先去匹配hosts.allow ,里面是 all 直接放行,就不会在去看 hosts.deny
0

wangzai

赞同来自:

学习
0

xucaibao1979

赞同来自:

学习了
0

xpp295

赞同来自:

匹配方向:
hosts.allow-->hosts.deny
0

Noom

赞同来自:

记录一下
0

冷凌

赞同来自:

只考虑这一点的话,全部放行
0

hansijia

赞同来自:

开始我以为直接就是服务器禁止登陆,后来看到学长们评论明白了有优先顺序和操作顺序
0

Clin

赞同来自:

1
0

limingyu

赞同来自:

全部放行

学习了

0

邱三千

赞同来自:

匹配方向:hosts.allow-->hosts.deny

0

ONLYONE

赞同来自:

学习,收藏

0

lovelisa

赞同来自:

这个东东实用哟

0

蓝翎之风

赞同来自:

又学到新的知识点了  到那一阶段亲自试验一把

0

sun330

赞同来自:

学习了

0

tkk1234

赞同来自:

学习了,看看,望早日达成高薪

0

airufengye

赞同来自:

学习了,谢谢

回复帖子,请先登录注册

退出全屏模式 全屏模式 回复
评分
可选评分理由: