Python pxssh执行iptables无法正常工作

时间:2017-03-12 14:12:35

标签: python iptables pxssh

我使用pxssh建立与服务器的SSH连接。可以建立连接,我可以运行简单命令,例如ls -l

我现在需要的是通过SSH连接创建iptable条目。 我尝试了以下

s = pxssh.pxssh()

print(ip)
if not s.login(ip, username, auth_password):
    Log("SSH session failed on login")
    Log(str(s))
else:
    Log("SSH session login successful")
    cmd = 'sudo iptables -I INPUT -p udp -m udp --dport 53 -j ACCEPT;'
    s.sendline(cmd)
    s.prompt()         
    print(s.before) 
    s.logout()

运行没有错误,但是当连接到服务器时,没有创建iptable条目!?

1 个答案:

答案 0 :(得分:1)

尝试修改你的python脚本:

cmd = '/usr/bin/sudo /usr/sbin/iptables -I INPUT -p udp -m udp --dport 53 -j ACCEPT'
s.sendline(cmd)

如果你的操作系统不同,你应该更改sudo和iptables路径

还尝试打印s.sendline(cmd)以查看通过服务器上的ptyhon脚本实际执行的内容,以确保执行正确的iptables命令