python批量修改linux主机密码
+++++++++++++++++++++++++++++++++++++++++++
标题:python批量修改Linux服务器密码
时间:2019年2月24日
内容:基于python实现批量修改linux主机密码。
重点:python使用SSH模块+循环操作,实现linux主机密码批量修改。
注意:本脚本是在实验环境下生成的,如果线上使用,请先进性多次测试,防止出现问题。
+++++++++++++++++++++++++++++++++++++++++++
1. 包含文件
1.1 脚本文件
注意:建议不要直接复制使用,在linux平台用vi创建文件,将内容写进去,使用tab键进行缩进,本文中的缩进可能存在问题。
import paramiko
import os
test_fail='result.fail'
if os.path.exists(test_fail):
os.remove(test_fail)
test_ok='result.ok'
if os.path.exists(test_ok):
os.remove(test_ok)
pass_file=open('passwd','r')
for line in pass_file: //打开文件并读取数据
inform=line.split()
ipaddr=inform[0]
username=inform[1]
old_pass=inform[2]
new_pass=inform[3]
port=22
try:
ssh=paramiko.SSHClient() //启动ssh
ssh.load_system_host_keys()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh.connect(hostname=ipaddr,username=username,password=old_pass,timeout=5) //连接到服务器
ssh.exec_command('echo "%s"|passwd --stdin root'%new_pass) //修改服务器密码
ret_ok=open('result.ok','a+') //输出结果
ret_ok.write(ipaddr+" is OK\n")
ret_ok.close()
ssh.close()
except Exception as e:
ret_fail=open('result.fail','a+') //输出结果
ret_fail.write(ipaddr+" is failed\n")
ret_fail.close()
pass_file.close()
1.2 配置文件
注意:
文件名为passwd,为题python脚本提供数据
文件内容如下:
192.168.44.100 root pass_old1 pass_new1
192.168.44.110 root pass_old2 pass_new2
192.168.44.120 root pass_old3 pass_new3
1.3 脚本使用指导文件
步骤一:上传压缩包到Linux主机
步骤二:unzip change_password.zip
步骤三:chmod a+x change_pass.py
步骤四:将服务器信息写入passwd文件
第一列 服务器IP地址
第二列 需要修改密码的用户名
第三列 原始密码
第四列 新密码
注意:每列之间使用空格隔开,并且passwd与change_pass.py在同级目录下
步骤五:python change_pass.py
注意:脚本执行完成后,在当前目录下生成result.ok和reslut.fail分别记录主机密码的修改的成功与失败的情况(成功或失败是通过ssh是否连接成功进行判定的)
python批量修改linux主机密码的更多相关文章
- 利用expect批量修改Linux服务器密码
一个执着于技术的公众号 背景 修改Linux系统密码,执行passwd即可更改密码.可如果有成千上百台服务器呢,通过ssh的方式逐一进行修改,对我们来说,工作量是非常大,且效率非常低下.因此采用批量修 ...
- ansible批量修改linux服务器密码的playbook
从网上找到批量修改Linux服务器root密码的playbook. 使用方法: 1.输入要修改的inventory组 2.按需要,在playbook中输入要修改的IP.新密码,如下: - hosts: ...
- 批量修改Linux系统密码
截取主机IP地址最后一位数.匹配一组定义好的自定义密码.使用chpasswd修改主机账户密码 截图主机IP [root@web01 ~]# ip addr 1: lo: <LOOPBACK,UP ...
- 批量修改Linux密码脚本(Python)
搭建环境 centos 7.4 使用脚本 python 批量修改connect用户的密码 生成密码为随机密码 保存为xls文档 #!/usr/bin/env python # -*- coding: ...
- 如何修改Linux主机名
Linux 下什么都比较麻烦,就连修改主机名也不例外.我们就下文说一下具体方法. Linux 安装好后,其默认的主机名是 localhost.修改 Linux 主机名需要3步. 使用 hostname ...
- 修改linux用户密码
对于初学者来说,如何修改linux用户密码也不是件容易的事,其实非常简单,下面举例说明: 如果是以root身份登录,修改root密码.只要输入 passwd 就会出现: New password: ...
- 转: 如何用linux命令修改linux主机ip网关子网掩码
linux一般使用ifconfig命令修改linux主机的ip.网关或子网掩码. 1.命令格式: ifconfig [网络设备] [参数] 2.命令功能: ifconfig 命令用来查看和配置网络设备 ...
- 修改Linux主机名与IP之间的映射关系
linux主机版本: Distributor ID: UbuntuDescription: Ubuntu 14.10Release: 14.10 一.修改linux主机名 1.使用hostname命令 ...
- python批量给云主机配置安全组
python批量给云主机配置安全组 用公有云的思路去思考去实现一个安全稳定.可伸缩和经济的业务构架,云运维是有别与传统运维的,比如说了解公有云的都知道安全组的概念,安全组跟防火墙功能很相似,那我的机器 ...
随机推荐
- Maven(十五)Maven 聚合
聚合解决的问题: 解决每个模块之间都要一个一个安装,一键安装各个模块工程 尤其时在配置继承后要先安装子模块在安装父,模块. 配置方式 自己找一个工程作为聚合工程,配置好后在聚合工程上运行Maven i ...
- 前端入门12-JavaScript语法之函数
声明 本系列文章内容全部梳理自以下几个来源: <JavaScript权威指南> MDN web docs Github:smyhvae/web Github:goddyZhao/Trans ...
- DIV中文字换行显示
居然第一次遇到这种问题,还想了半天到底是怎么回事,为什么明明div设置宽度了,里面的文字超过宽度后居然不换行. (1)word-break属性,可以让浏览器实现在任意位置换行. normal:使用浏览 ...
- keras & tensorflow 列出可用GPU 和 切换CPU & GPU
列出可用GPU from tensorflow.python.client import device_lib print(device_lib.list_local_devices()) from ...
- EBGP在非直连网络时,需要配置ebgp的最大跳数,否则无法建立非直连的EBGP邻居
结论: 1.默认情况下,EBGP只能在物理直连的路由器之间建立邻居. 2.要想配置非直连设备间的BGP邻居,必须加配置. 组网图: 抓包: 1.默认情况下,EBGP邻居之间的BGP报文的TTL为1. ...
- 通过ADB查看当前Activity
cmd命令中输入:adb shell dumpsys activity activities 在一连串的输出中找到Runing activities com.android.settings是包名. ...
- asp.net core参数保护之自定义要保护的参数类型
asp.net core参数保护之自定义要保护的参数类型 Intro 为了实现 asp.net core 下的参数保护,扩展了asp.net core 中 DataProtection,可以自动化的保 ...
- Kafka相关内容总结(存储和性能)
Kafka消息的存储 Kafka的设计基于一种非常简单的指导思想:不是要在内存中保存尽可能多的数据,在需要时将这些数据刷新(flush)到文件系统,而是要做完全相反的事情.所有数据都要立即写入文件系统 ...
- CSS优先级的及其衡量标准CSS权重
一.背景 CSS有三大特性:层叠性.继承性.优先级. 而我们在给CSS定义样式的时候,经常出现两个及以上的规则应用在同一元素上,单该元素最终在浏览器呈现的效果是应用的哪个规则呢?这就要考虑优先级的问题 ...
- linux 网络套接字
在内核分析网络分组时,底层协议的数据将传输到跟高的层.而发送数据的时候顺序是相反的.每一层都是通过加(首部+净荷)传向跟底层,直至最终发送. 这些操作决定了网络的的性能. 就如下图所示 linux因此 ...