Rumah  >  Soal Jawab  >  teks badan

python - 检测sshd端口误封

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,如果有更好的建议,请附上您的脚本,感谢。

`

高洛峰高洛峰2741 hari yang lalu2401

membalas semua(2)saya akan balas

  • 阿神

    阿神2017-04-17 17:54:49

    貌似不等于的比较用的是-ne而不是!=把~

    balas
    0
  • ringa_lee

    ringa_lee2017-04-17 17:54:49

    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

    balas
    0
  • Batalbalas