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批量给云主机配置安全组 用公有云的思路去思考去实现一个安全稳定.可伸缩和经济的业务构架,云运维是有别与传统运维的,比如说了解公有云的都知道安全组的概念,安全组跟防火墙功能很相似,那我的机器 ...
随机推荐
- CAN总线学习记录之二:系统结构与帧结构
CAN总线系统结构 CAN 控制器 接收控制单元中微处理器发出的数据,处理数据并传给 CAN 收发器 CAN 收发器 将数据传到总线 or 从总线接收数据给 CAN 控制器 CAN 数据传递终端 避 ...
- Mybatis框架基础支持层——反射工具箱之实体属性Property工具集(6)
本篇主要介绍mybatis反射工具中用到的三个属性工具类:PropertyTokenizer.PropertyNamer.PropertyCopier. PropertyTokenizer: 主要用来 ...
- TSP(Traveling Salesman Problem)-----浅谈旅行商问题(动态规划,回溯实现)
1.什么是TSP问题 一个售货员必须访问n个城市,这n个城市是一个完全图,售货员需要恰好访问所有城市的一次,并且回到最终的城市. 城市于城市之间有一个旅行费用,售货员希望旅行费用之和最少. 完全图:完 ...
- web前端图片上传
图片上传有很多种形式,但是听说ios只能传字符串,所以为了安卓.ios和web能用一个接口上传图片,采用了基于base64 的方法上传图片. 下面是我的html <div class=" ...
- electron入坑指南
electron入坑指南 简介 electron 实际集成chrome浏览器和node环境, 运行你写的网页 app 基本目录结构 index.html 名称可以不是index, 这个文件与普通网页的 ...
- IntelliJ IDEA简介及简单操作
IntelliJ IDEA简介 IDEA 全称IntelliJ IDEA,是用于java语言开发的集成环境(也可用于其他语言),IntelliJ在业界被公认为最好的java开发工具之一 ...
- 扩展1000!(n!)的尾数零的个数
#include <stdio.h> #include <malloc.h> //计算1000!尾数零的个数 //扩展n!的尾数零的个数 //2^a * 5^b //obvio ...
- 树莓派3b+ Ubuntu 16.04 MATA系统 ssh远程登陆后修改主机名、用户密码和用户名
写在前面: 刚刚开始写博客,记录下自己的学习过程,备忘. 最近在使用树莓派做智能小车的开发,使用的是树莓派3b+,安装的是Ubuntu 16.04 MATA 系统,安装系统后需要修改主机名,登陆密码以 ...
- 0109 ubuntu nginx ssl
1. sudo apt-get install openssl libssl-dev # ./configure --with-http_stub_status_module --with-http_ ...
- ssr
使用Nuxt.js改造已有项目的方法 https://www.jb51.net/article/145203.htm