python脚本系列——批量更新xshell服务器密码

import os

'''
需求:公司要求定期修改服务器密码,xshell保存好的配置就得一个一个改,麻烦。
注意:
    1.确保xsh文件是utf-16的,默认的编码,不一致更新password时会无法使用
    2.先用一个xsh登录后,输入密码,再提取更新后的密码,作为update_pwd
    3.适用于所有的ssh登陆,password更新的时候记得加入换行符
场景:固定部分服务器更新密码;或者以前密码不统一,要求统一配置。
'''

# 找到xsh保存的路径下打开现有的xsh文件查看密码
curr_pwd = "Password=6yWqCKddddddv5laXfdrkC8gXeXcccccck+mUT6gv0Dj"
# xshell配置新密码后打开新的xsh文件查看密码,此处实际为12345678
update_pwd = "Password=jX/rfKIilf3veXyBGPAt+2SWB91dP4x2IwSMnAY9UyzJXF7XqJimTw==\n"
# 记录下更新了几套防止遗漏
count = 0

# age:C:\Users\18048\Documents\NetSarang Computer\6\Xshell\Sessions
path = input('请输入xsh文件路径:')

# 遍历文件夹
for root, dirs, files in os.walk(path):
    for f1 in files:
        # 判断为xsh文件
        if '.xsh' in f1:
            # xsh文件编码为utf16
            with open(path + '\\' + f1, encoding='utf-16') as f:
                # 判断out文件夹并创建
                if not os.path.exists(path+'\\out'):
                    os.makedirs(path+'\\out')
                fw = open(path+'\\out' + '\\' + f1, 'w', encoding='utf-16')
                # 遍历文件中每一行
                for line in f.readlines():
                    # 如果直接更新所有服务器配置
                    # 直接改为if line.startswith("Password="):
                    if curr_pwd in line:
                        # print(curr_pwd)
                        print("更新服务器密码:" + f1)
                        count = count + 1
                        fw.write(update_pwd)
                    else:
                        fw.write(line)
print('修改完成,共更新' + str(count) + '个配置!')

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

情绪零碎碎

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值