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)
实现的目的:
批量运行指定服务器的命令,查看系统内容信息
暑期编程PK赛 得CSDN机械键盘等精美礼品!


