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
执行结果如下:
【推荐】还在用 ECharts 开发大屏?试试这款永久免费的开源 BI 工具!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步