【发布时间】:2016-01-02 12:18:41
【问题描述】:
我正在尝试使用Paramiko 远程运行 tcpdump。
ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh.connect(ip_machine, username='root', password=password)
my_command = 'sudo timeout 10 tcpdump -i eth0 ip -w somefile'
stdin, stdout, stderr = ssh.exec_command(my_command)
channel = stdout.channel
channel.recv_exit_status()
ssh.close()
尽管有timeout 命令和recv_exit_status,程序仍会立即退出。 tcpdump 的输出文件已创建,但它是空的。
【问题讨论】:
-
print stdout.read()和print stderr.read()显示什么? -
sudo:对不起,你必须有一个 tty 才能运行 sudo