python 通过paramiko实现批量在远程服务器上执行命令

复制代码
 1 [root@80sa script]# cat ssh.py 
 2 #!/usr/bin/env python
 3 #coding:utf-8
 4 
 5 import paramiko
 6 
 7 #远程服务器地址
 8 #ip = '192.168.0.226'
 9 file = open("iplist.txt","r")
10 all = file.readlines()
11 for ip in all:
12     print ip,
13 
14     #端口
15     port = 9999
16 
17     #用户名
18     username = "jesse"
19     password = "QQ:64125568"
20 
21     #创建SSH连接日志文(只保留前一次连接的详细日志 以前的日志会自动被覆盖)
22     paramiko.util.log_to_file('/script/ssh_connect_last.log')
23     ssh = paramiko.SSHClient()
24 
25     #读取know_host
26     ssh.load_system_host_keys()
27 
28     #允许连接不在know_hosts文件中的主机
29     ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
30 
31     #建立SSH连接并执行命令
32     ssh.connect(ip,port,username,password)
33     stdin,stdout,stderr = ssh.exec_command('uptime')
34 
35     #打印标准输出
36     print stdout.read(),
37         print "-"*70
38     ssh.close()
复制代码

使用说明:使用的时候 需要安装paramiko相关模块 python版本要求2.5+ 

IP地址存放格式如下:

[root@80sa script]# cat iplist.txt
192.168.68.235
192.168.68.236
192.168.68.238
192.168.68.196
192.168.68.212
192.168.68.237
192.168.68.239
192.168.68.230
192.168.68.201
192.168.68.220
192.168.68.215

执行结果如下:

 

 

posted @   study-notes  阅读(600)  评论(0编辑  收藏  举报
努力加载评论中...
点击右上角即可分享
微信分享提示