赞
踩
python+paramiko+运行命令:
一.配置文件,保存的是服务器的ip,用户,密码,端口
hosts.ini文件内容:
- 192.168.1.9,root,123456,22
- 192.168.1.19,root,123456,22
二.服务器调用上述配置信息;
-
- import paramiko
-
-
- #用于执行远程命令
- def exec_remote_cmd(cmd,hostname="127.0.0.1",username="root",password="root",port=22):
- #创建一个ssh对象
- ssh_client=paramiko.SSHClient()
- #解决连接linux时候提示的yes,no的操作
- ssh_client.set_missing_host_key_policy(paramiko.AutoAddPolicy)
- #连接服务器
- ssh_client.connect(hostname=hostname,port=port,username=username,password=password)
- stdin,stdout,stderr=ssh_client.exec_command(cmd)
- #打印返回的结果
- print(stdout.read().decode('utf-8'))
- returncode=stdout.channel.recv_exit_status()
- print("returncode",returncode)
- ssh_client.close()
-
- #调用服务
- # exec_remote_cmd("ps -ef","192.168.1.90","root","123456")
-
-
- with open("./hosts.ini") as lines:
- for line in lines:
- line=line.strip()
- hostname,username,password,port=line.split(",")
- print(hostname+"cmd ret: ")
- print("="*50)
- exec_remote_cmd('cat /var/log/secure', hostname,username,password,port)
实现的目的:
批量运行指定服务器的命令,查看系统内容信息
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。