【发布时间】:2014-04-02 01:41:29
【问题描述】:
我正在编写一个 python 脚本,它接受在远程 linux 上执行的命令。我上网并找到了帕拉米科。我开发了一个脚本,如果像 'who', 'ps', 'ls' 这样的命令被执行,它可以正常工作。但同一脚本未能执行 'top' 和 'ping' 命令。 请帮我解决这个问题。
import paramiko
import sys
class sampleParamiko:
ssh = ""
def __init__(self, host_ip, uname, passwd):
try:
self.ssh = paramiko.SSHClient()
self.ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
self.ssh.connect(host_ip, username=uname, password=passwd)
#print "In init function"
except (paramiko.BadHostKeyException, paramiko.AuthenticationException, paramiko.SSHException) as e:
print str(e)
sys.exit(-1)
def ececuteCmd(self,cmd):
try:
stdin, stdout, stderr = self.ssh.exec_command(cmd)
out_put = stdout.readlines()
for item in out_put:
print item,
except paramiko.SSHException as e:
print str(e)
sys.exit(-1)
host_ip = "10.27.207.62"
uname = "root"
password = "linux"
cmd = str(raw_input("Enter the command to execute in the host machine: "))
conn_obj = sampleParamiko(host_ip, uname, password)
conn_obj.ececuteCmd(cmd)
【问题讨论】: