下午闲来无事,就搞个批量密码修改工具玩玩...

#!/usr/bin/env python
import paramiko
import time
ip_list=('ip1','ip2')
log_file=open('mpwdok.log','w+')
log_file1=open('mpwderr.log','w+')
for ip in ip_list:
    try:
        s = paramiko.Transport((ip, 22))
        s.connect(username='root', password='222222')
        chan = s.open_session()
        chan.get_pty()
        chan.invoke_shell()
        chan.send('passwd root\n')
        time.sleep(2)
        chan.send('111111\n')
        time.sleep(2)
        chan.send('111111\n')
        time.sleep(2)
        log_file.write("\n"+ip+"\n=================================================================\n")
        log_file.write(chan.recv(1024))
        log_file.write("\n=================================================================")
    except Exception,err:
        log_file1.write("ERR:unable to connect %s:%s\n" %(ip,err))

以下是另一种方式自动登录并且修改密码的脚本,仅供参考:

#!/usr/bin/env python
#CreateBy:Badboy 2010-11-02
#Auto modify user passwd
import paramiko
import time
import ConfigParser
cf=ConfigParser.ConfigParser()
cf.read("userinfo.conf")
userName=cf.get("user_info","user_name")
userPass=cf.get("user_info","user_pwd")
serverPort=cf.getint("user_info","server_port")
keyFile=cf.get("user_info","key_path")
ip_list=cf.get("user_info","ip_list").split(",")
channel = paramiko.SSHClient();
channel.set_missing_host_key_policy(paramiko.AutoAddPolicy())
log_file=open('mpwdok.log','w+')
log_file1=open('mpwderr.log','w+')
for serverHost in ip_list:
    try:
        mpwdssh=paramiko.Transport((serverHost,serverPort))
        mykey = paramiko.DSSKey.from_private_key_file(keyFile,password=userPass)
        mpwdssh.connect(username=userName,pkey=mykey)
        chan = mpwdssh.open_session()
        chan.get_pty()
        chan.invoke_shell()
        chan.send('passwd root\n')
        time.sleep(2)
        chan.send('222222\n')
        time.sleep(2)
        chan.send('222222\n')
        time.sleep(2)
        log_file.write("\nLinuxServer_IP:"+serverHost+"\n=================================================================\n")
        log_file.write(chan.recv(1024))
        log_file.write("\n=================================================================")
    except Exception,err:
        log_file1.write("ERR:unable to connect %s:%s\n" %(serverHost,err))

userinfo.conf

[user_info]
user_name=root
user_pwd=111111
server_port=22
key_path=/root/.ssh/badboy
ip_list=ip1,ip2

本文出自 “坏男孩” 博客,请务必保留此出处http://5ydycm.blog.51cto.com/115934/407163

转载于:https://www.cnblogs.com/cheungjustin/archive/2011/12/17/2291086.html

【转】python 批量修改密码(paramiko)相关推荐

  1. python 批量修改密码

    下午闲来无事,就搞个批量密码修改工具玩玩... #!/usr/bin/env python import paramiko import time ip_list=('ip1','ip2') log_ ...

  2. 使用Python批量修改PPTX文件中文本框格式

    问题描述:最近正在整理Python教材的配套PPT,原来的PPT是4:3的,考虑到现在很多屏幕都是宽屏的,于是打算重新整理一下.对于正常的幻灯片,直接在"页面设置"中修改一下就可以 ...

  3. python 修改文件名_【学习分享】利用python批量修改文件名

    1 前言 分享一个利用python批量修改文件名的方法,我们以前分享过用DOS命令来批量修改文件名,但是如果要修改多个文件夹内的文件名,用DOS命令就不好处理了,我们就来分享一下如何用python处理 ...

  4. python批量修改labelme(COCO)标注的json文件的label标签名称

    python批量修改labelme(COCO)标注的json文件的label标签名称 在深度学习的实践中,使用labelme标注软件标注好数据集之后,如果标签的名称标注错误或者需要修改,庞大的数据量依 ...

  5. 使用python批量修改txt文件中的信息

    使用python批量修改txt文件 在更改深度学习很多标签文件的时候,我们有时候需要自己修改txt文件里的路径,这时候如果写一个python程序,就会比较容易: import os import ra ...

  6. Python批量修改txt文件的某列数值

    Python批量修改txt文件的某列数值,在针对使用YOLOv5目标检测算法过程中,会面临更改标注文件(.txt文件)标签的情况,以将txt文件中第一列为0的数改为1为例,则可使用如下代码进行修改: ...

  7. python批量修改替换文件内容

    1.python批量修改文件内容 import os def replaceFileContent(filepath1, content1, replaceContent1):f = open(fil ...

  8. python批量修改图片名

    项目场景: 在用python做一个蜘蛛纸牌时,需要添加多张纸牌的照片,而用tkinter.PhotoImage()仅支持gif等几种不常用的图片格式这就需要批量修该图片名,一个一个修改太麻烦,于是就网 ...

  9. 用Python批量修改图片名称及后缀名

    用Python批量修改图片名称及后缀名 import os a = 'dataset3\png/'//需要修改的图片所在的文件夹 b = 'dataset2\png/'//修改后的图片存放路径 fil ...

最新文章

  1. java读取文件路径中文,分分钟搞定!
  2. 5 CrawlSpider操作
  3. Tshark的使用问题
  4. ES6的新特性(5)——数值的扩展
  5. 机器学习基础算法17-决策树-鸢尾花数据集分类及决策树深度与过拟合
  6. React Native填坑之旅--Button篇
  7. iTOP-4412开发板-QtE4.7-UVC 摄像头使用例程
  8. php 过滤绕过注入,PHPB2B注入#1(绕过过滤)
  9. 如何在typescript-react项目中使用emotion的css行内样式
  10. 自由职业者-免费的电子书资源【转载】
  11. 图的遍历 ——深度优先遍历
  12. 毕业设计-基于汇编语言的at89c52单片机可调数字钟的设计,基于AT89S52单片机数字钟的仿真设计(汇编语言程序)...
  13. 桥接模式和NAT模式的区别
  14. 二维码在线生成接口API
  15. 网页音乐制作器(网页钢琴)-- MusicMaker
  16. 洛谷P1200你的飞船在这
  17. (亲测有效)荣耀手机一键激活Xposed框架方法
  18. Mac如何安装numpy,pandas,matplotlib,spicy等包,以及下载速度慢遇到read timed out问题如何解决
  19. 计算几何与图形学有关的几种常用算法(二)
  20. 基于Python的算术编码的设计与实现

热门文章

  1. java metapojo_hibernate错误[org.hibernate.tuple.entity.PojoEntityTuplizer],这是什么错误,怎么解决?...
  2. vue hot true 不起作用_Vue + Flask 小知识(二)
  3. or计算机二级,计算机二级VF历年上机试题or答案
  4. php调用易语言的dll文件,【PHP】真正意义上的PHP调用易语言DLL
  5. doe全称是什么意思_QA、QC、QE…都是什么意思
  6. 嵌入式linux驱动笔试,嵌入式Linux驱动工程师/BSP开发工程师面试笔试题集锦
  7. html绝对定位怎么页面居中,html – 如何将绝对定位的元素居中?
  8. 计算机级用英语怎么说,计算机国家一级用英语怎么说
  9. oracle 10g crs_stop -all 命令后遇到 UNKNOWN
  10. Lucene入门程序