使用paramiko批量登录远端的机器,远端的多个机器的登录信息保存在本地一个txt文件中。
ip_info.txt 的文件内容如下
192.168.0.104,root,22,mima
#!/usr/bin/python
import paramiko
ip_info="/opt/ip_info.txt"
def ssh_exec(hostip,port,user,passwd,cmd):
ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh.connect(hostip,port,user,passwd)
stdin, stdout, stderr = ssh.exec_command(cmd)
for line in stdout.readlines():
print(line.strip())
return stdout
ssh.close()
with open (ip_info,"r") as f:
all_ip=f.readlines()
for i in range(len(all_ip)):
ip_list=all_ip[i].split(",")
print(ip_list[0],ip_list[1],ip_list[2],ip_list[3])
port_num=int(ip_list[1])
exec_cmdline=ssh_exec(ip_list[0],int(ip_list[1]),ip_list[2],ip_list[3],"ls /opt")