import paramiko
def ssh2(ip,username,passwd,cmd):
try:
ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
paramiko.util.log_to_file("filename.log")
ssh.connect(ip,22,username,passwd)
print "11111111111111111"
for m in cmd:
print m
stdin, stdout, stderr = ssh.exec_command(m)
out = stdout.readlines()
for o in out:
print o,
print "%s OK
"%(ip)
ssh.close()
except:
print "%s Error
"%(ip)
if __name__=="__main__":
ip = "192.168.111.162"
username = "root"
passwd = "asdf1234"
print "Begin...."
cmd=["ls",
"which python"]
ssh2(ip,username,passwd,cmd)
def ssh_exec(hostname, port, username, key, password, component, content):
cmd = "zgrep " + content + "/dir" + component + "/* | sort -t: -k 2.1,4 "
s = paramiko.SSHClient()
s.set_missing_host_key_policy(paramiko.AutoAddPolicy())
s.connect(hostname=hostname, port=port, username=username, pkey=key, password=password)
ssh = s.invoke_shell()
time.sleep(0.1)
ssh.send('su - ')
buff = ''
sleep_loop = 0
while not buff.endswith('Password: '):
resp = ssh.recv(9999)
buff +=resp
time.sleep(0.5)
ssh.send(root_pwd)
ssh.send(' ')
buff = ''
while not buff.endswith('# '):
resp = ssh.recv(9999)
buff +=resp
time.sleep(1)
sleep_loop +=1
if sleep_loop == 3:
raise Exception('Please confirm root password, or contact developer.')
ssh.send(cmd)
ssh.send(' ')
buff = ''
while not buff.endswith('# '):
resp = ssh.recv(9999)
buff +=resp
s.close()
result = buff
print result
cmd = "zgrep " + content + "/dir" + component + "/* | sort -t: -k 2.1,4 "
s = paramiko.SSHClient()
s.set_missing_host_key_policy(paramiko.AutoAddPolicy())
s.connect(hostname=hostname, port=port, username=username, pkey=key, password=password)
ssh = s.invoke_shell()
time.sleep(0.1)
ssh.send('su - ')
buff = ''
sleep_loop = 0
while not buff.endswith('Password: '):
resp = ssh.recv(9999)
buff +=resp
time.sleep(0.5)
ssh.send(root_pwd)
ssh.send(' ')
buff = ''
while not buff.endswith('# '):
resp = ssh.recv(9999)
buff +=resp
time.sleep(1)
sleep_loop +=1
if sleep_loop == 3:
raise Exception('Please confirm root password, or contact developer.')
ssh.send(cmd)
ssh.send(' ')
buff = ''
while not buff.endswith('# '):
resp = ssh.recv(9999)
buff +=resp
s.close()
result = buff
print result