服务器怎么修改密码_分享一个实用python脚本:批量实现服务器密码修改

概述

由于机房线上有多台主机,为了保障安全,需要定期修改密码。若手动修改,费时费力易出错。而expect在特殊字符的处理上极为恶心,故用python脚本简单实现需求。


1、安装依赖包

基于python3环境

pip install paramikoexport CRYPTOGRAPHY_ALLOW_OPENSSL_102=1

2、密码文件(passwd.txt)

IP用户名  旧密码  新密码

3、修改密码脚本(change_password.py)

#!/usr/bin/python# -*- coding: utf-8 -*-import paramikoimport ostest_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_command('echo "%s"|passwd --stdin root'%new_pass)    ret_ok=open('result.ok','a+')    ret_ok.write(ipaddr+" is OK")    ret_ok.close()    ssh.close()  except Exception as e:    ret_fail=open('result.fail','a+')    ret_fail.write(ipaddr+" is failed")    ret_fail.close()pass_file.close()
508afd4af3f7b7d7abaca51cbd202adf.png

以上就是脚本及实际的应用了,后面会分享更多devops和DBA方面内容,感兴趣的朋友可以关注下!

3ae7e62082cef6faaa2ec6064f8a12e6.png
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值