python ssh 远程登录路由器执行命令_python ssh2远程登录节点并执行命令 | 学步园...

root@node7:/opt# vim pyssh2.py

#!/usr/bin/python

"""

SSH connect to remote machines and then execute what

you need command

"""

import paramiko # import paramiko && help(paramiko) || pydoc paramiko

import threading

#debug = True

#class SSHClass(objiect):

#    "class"

def pyssh2(ip, username, passwd, cmd):

try:

ssh = paramiko.SSHClient()

ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())

ssh.connect(ip, 22, username, passwd, timeout=5)

for m in cmd:

stdin, stdout, stderr = ssh.exec_command(m)

#            stdin.write("Y")   #simple interaction, default input 'Y'

out = stdout.readlines()

#output to screen

for o in out:

print o,

print '%s\tOK\n' % (ip),

ssh.close()

except Exception, e:

print 'ERR: can not find remote host %s' % (ip), e

if __name__=='__main__':

cmd = ['hostname']#need to execute cmd

username = "root"#username

passwd = "123123"    #password

threads = []   #multi thread

print "Prompt:begin to connect remote machines......"

for i in range(150,156):

ip = '10.100.1.'+str(i)

a=threading.Thread(target=pyssh2,args=(ip,username,passwd,cmd)) #used default arguments

#          __init__(self, group=None, target=None, name=None, args=(), kwargs=None, verbose=None)

#          a=threading.Thread()

#          a.__init__(group=None, target=pyssh, name=None, args=(ip,username,passwd,cmd),

#                 kwargs=None, verbose=None)

a.start()

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值