python - 检测sshd端口误封

 MesecretyMark 发布于 2022-10-29 16:57

1,检查sshd端口误封,如果误封就重新添加。
2,代码如下:

#!/bin/bash
##written by lin
##check port 22
iptables -P INPUT ACCEPT;
iptables -P OUTPUT ACCEPT;
a=`iptables -nvL |grep dpt:22|awk  '{print $3}'`
#if [ $a == "REJECT" ]||[ $a == "DROP" ]
if [ $a != "ACCEPT" ]
then iptables -I INPUT -p tcp --dport 22 -j ACCEPT
fi

3.提示错误

4,不是可以指定变量等于某个字符串吗?

5,如果有更好的建议,请附上您的脚本,感谢。

`

2 个回答
    1. 你的错误是因为a变量为空

    2. 可以使用如下脚本检查

    #!/usr/bin/env bash
    
    block_22=`iptables -vnL | grep 'tcp dpt:22' | egrep 'DROP|REJECT' | wc -l`
    [ $block_22 -gt 0 ] && iptables -I INPUT -p tcp --dport 22 -j ACCEPT
    2022-11-12 01:48 回答
  • 貌似不等于的比较用的是-ne而不是!=把~

    2022-11-12 01:48 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有