1. 程式人生 > >使用paramiko模塊批量修改Linux主機的密碼

使用paramiko模塊批量修改Linux主機的密碼

格式 host 地址 修改密碼 mis shc utf-8 shel 功能

1、paramiko介紹

paramiko是基於python實現的一個SSH遠程安全連接,支持認證及秘鑰方式。可實現遠程命令執行、文件傳輸、中間SSH代理等功能。

2、安裝paramiko模塊

shell>pip install paramiko

3、批量修改Linux主機密碼腳本

#!/usr/bin/env python
#coding:utf-8
#author:weixiaoxin

import paramiko

f=open(‘server.txt‘,‘r‘)

for i in f:
    L=i.split()
    hostname=L[0]
    username=L[1]
    password=L[2]
    newpassword=L[3]
    port=22

    try:
        ssh=paramiko.SSHClient()
        ssh.load_system_host_keys()
        ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
        ssh.connect(hostname=hostname,username=username,password=password,timeout=5)
        ssh.exec_command(‘echo "%s"|passwd --stdin root‘%newpassword)
        print hostname+" ok!"
        ssh.close()
    except Exception as e:
        print hostname+":"+str(e)

f.close()

4、server.txt文件格式

將需要修改密碼的主機,以下列格式填寫。

192.168.1.1 root 123 456
192.168.1.2 root 123 456
192.168.1.3 root 123 456

第一列為主機的ip地址
第二列為主機的用戶名
第三列為主機的原始密碼
第四列為主機的新密碼

使用paramiko模塊批量修改Linux主機的密碼