2017-03-12 12 views
0

pxssh을 사용하여 서버에 대한 SSH 연결을 설정하고 있습니다. 연결을 설정하려면 ls -l과 같은 간단한 명령을 실행할 수 있습니다.Python pxssh가 iptables를 실행하지 않습니다.

지금 내가 필요한 것은 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

은이 같은 파이썬 스크립트를 수정하십시오 : 그것은 당신의 OS에 다른 있다면

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를) 인쇄 해보십시오 실제로 올바른 iptables 명령이 실행되었는지 확인하기 위해 서버의 ptyhon 스크립트를 통해 실행됩니다.