用于阿里云批量修改主机名

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()
时间: 2024-10-23 07:09:24

用于阿里云批量修改主机名的相关文章

阿里云服务器修改主机名

最近搞了个阿里云服务器,通过 SecureCRT 连接后,发现主机名太长了,于是准备将其设置为自己想要的名称. 云服务器环境:CentOS 7.3 64位 查看当前主机名:hostname 修改主机名:hostnamectl set-hostname 修改后的主机名 修改后,再次输入 hostname 可发现主机名已经被修改了,但当前会话界面的还是原来的名称,这里我们只需要重新建立会话连接,或者直接重启服务器就行了 重启服务器 OK,到这里已成功完成了主机名的修改,大功告成! 原文地址:http

批量修改主机名脚本

脚本思路:生成秘钥后,批量传输秘钥,根据hosts文件批量修改主机名. 运行环境:用户名统一是root,密码统一是123456 脚本 #!/bin/bash # check expect first ############################################################# passwd=123456 key=/root/.ssh/id_rsa ip=`ifconfig eth0 | sed -n '2p'| cut -d: -f2 | cut -

秘钥推送脚本,批量修改主机名

在生产环境线上,服务器统一命名是非常重要的,它遵循了环境标准化,使运维工程师能够更方便的管理线上服务器,当出现问题时,能够快速的定位问题.排查问题.解决问题. 编写脚本思路: 1.基于ssh-key生产秘钥 2.基于ssh与其他节点完成第一次交互(yes/no) 3.基于ssh-copy-id实现远程批量推送秘钥 4.基于sed来修改不同集群的不同主机名 测试环境:                   主机名                      IP               [[ema

python 批量修改主机名

公司需要新上项目,上架20台机器,要对这些主机进行改名 #!/usr/bin/env python from multiprocessing import Process, Pool import paramiko import sys,os s = paramiko.SSHClient() s.load_system_host_keys() s.set_missing_host_key_policy(paramiko.AutoAddPolicy()) def ssh_run(host_info

阿里云修改主机名hostname

一.永久修改主机名的方法(针对于普通的服务器) 1.通过hostname命令修改. [[email protected] ~]# hostname node1 修改完之后发现主机名还是没有变化,需要重新打开一个会话或者重新登录即可 注: 此命令的作用是暂时的修改linux的主机名,它的存活时间linux当前的运行时间,即在下一次重启前的运行时间内.一般修改以后立即生效,但这只是临时生效,不是永久生效 2. 通过配置文件/etc/sysconfig/network修改. [[email prote

云服务器 ECS Linux Ubuntu 主机修改主机名

云服务器 ECS Linux 主机修改主机名 修改云服务器 ECS Linux 主机名常见的有两种方式,本文对此进行概要说明. 临时生效修改 使用命令行修改 hostname 主机名(可自定义),重新登录 shell 生效. 重新登录 shell 后可以看到已经生效 永久生效修改 以 CentOS 系统为例,需要更改配置文件生效,修改 /etc/sysconfig/network 里的 HOSTNAME=主机名(可自定义),重启生效. 如果是 Ubuntu 系统,则需要修改文件 /etc/hos

笔记二:ansible批量设置主机名

批量设置主机名 系统环境:debian 8 本机ip   :180.76.169.6 被管理机:218.60.33.2 .218.60.33.3.218.60.33.4.218.60.33.5 更新时间: 2017-2-27 1. 在/etc/ansible/hosts配置主机信息(主机名需先在hosts设置好) [email protected]:~$ cat /etc/ansible/hosts # This is the default ansible 'hosts' file. # #

Linux篇 | CentOS6、CentOS7、Ubuntu1804修改主机名、网卡、网络

主机名 CentOS6: 修改"/etc/sysconfig/network"文件,建议在把"/etc/hosts"文件里的主机名也改了,因为此文件的作用是:把主机名解析成本地IP地址(127.0.0.0),修改后重启生效,或者用"hostname 新主机名"命令临时设置,之后注销重新登录即可. CentOS7: 1.配置文件:/etc/hostname ,默认没有此文件,通过DNS反向解析获取主机名,主机名默认为:localhost.local

批量修改主机密码并发送到邮箱

1. 前言 需求:一批云主机,要求每周修改一次密码. 2. 实践 使用 ansible + sendmail 即可实现. 主机信息: (1)安装 sendmail wget http://caspian.dotconf.net/menu/Software/SendEmail/sendEmail-v1.56.tar.gz tar zxf sendEmail-v1.56.tar.gz -C /usr/src/ cd /usr/src/sendEmail-v1.56/ cp -a sendEmail