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

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6
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

# ageC:\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) + '个配置')

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6