import paramiko
import sys,os
host_list=[
#主机名,ip
[‘app176‘,‘192.168.100.1‘,],
]
def hostname():
s = paramiko.SSHClient()
s.load_system_host_keys()
s.set_missing_host_key_policy(paramiko.AutoAddPolicy())
for host in host_list:
print(host[0],host[1])
s.connect(host[1],22,‘root‘,‘#‘,timeout=5)
stdin,stdout,stderr=s.exec_command(‘hostname {}‘.format(host[0]))
cmd_result = stdout.read(),stderr.read()
for line in cmd_result:
print(line)
s.close()
def network():
s = paramiko.SSHClient()
s.load_system_host_keys()
s.set_missing_host_key_policy(paramiko.AutoAddPolicy()) #忽略第一次登陆时的konwn_hosts检测
for host in host_list:
print(host[0],host[1])
s.connect(host[1],22,‘root‘,‘#‘,timeout=5) #认证 分别为主机地址,端口号,用户,密码,超时时间
stdin,stdout,stderr=s.exec_command(‘hostname‘) #获取原主机名
h = stdout.read().decode().strip()
for line in h:
stdin,stdout,stderr=s.exec_command("sed -i ‘s/{0}/{1}/‘ /etc/sysconfig/network".format(h,host[0]))#执行命令
cmd_result = stdout.read(),stderr.read()
print(cmd_result)
def hosts():
s = paramiko.SSHClient()
s.load_system_host_keys()
s.set_missing_host_key_policy(paramiko.AutoAddPolicy())
for host in host_list:
print(host[0],host[1])
s.connect(host[1],22,‘root‘,‘#‘,timeout=5)
stdin,stdout,stderr=s.exec_command(‘hostname‘)
h = stdout.read().decode().strip()
for line in h:
stdin,stdout,stderr=s.exec_command("sed -i ‘s/{0}/{1}/‘ /etc/hosts".format(h,host[0]))
cmd_result = stdout.read(),stderr.read()
if __name__ == ‘__main__‘:
hosts()
network()
hostname()原文:http://fengshi.blog.51cto.com/8914310/1902275