服务器修改密码(分享一个实用python脚本)

概述由于机房线上有多台主机,为了保障安全,需要定期修改密码。若手动修改,费时费力易出错。而expect在特殊字符的处理上极为恶心,故用python脚本简单实现需求。1、安装依赖包基于python3环境pip install paramiko
export CRYPTOGRAPHY_ALLOW_OPENSSL_102=12、密码文件(passwd.txt)IP 用户名 旧密码 新密码3、修改密码脚本(change_password.py)#!/usr/bin/python
# -*- coding: utf-8 -*-
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.txt','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.load_system_host_keys()
    ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
    ssh.connect(hostname=ipaddr,username=username,password=old_pass,timeout=10)
    ssh.exec_com
mand('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()以上就是脚本及实际的应用了,后面会分享更多devops和DBA方面内容,感兴趣的朋友可以关注下!


本文出自快速备案,转载时请注明出处及相应链接。

本文永久链接: https://www.xiaosb.com/beian/36963/