網工批量修改SecureCRT會話密碼腳本(只要是批量修改secureCRT的密碼,都可以用這個方法)


需求:SecureCRT是網絡運維人員常用的一個軟件工具,但是每次修改3A密碼后,所有保存在SecureCRT里面會話的密碼都要修改,看了網絡的一些修改方法,有些讓你破解原密碼的,有些是linux的修改方式,所以寫個腳本分析給廣大網工,用於修改網絡主機的SecureCRT密碼;復制粘貼就可以使用,轉載記得粘貼出處

 

修改原理:我們需要把SecureCRT的Sessions密碼全部換成新密碼就行了,但是這個密碼是加密的

SecureCRT的配置文件通常以.ini文件命名,保存在Sessions目錄里面,該目錄可以通過Options-> Global Options-> General-> Configuration Paths里面查看,打開配置文件可以看到保存的用戶名Username和密碼Password V2選項;我們可以先修改自己的3A密碼,然后登錄一台主機A作為模板機,登錄的時候SecureCRT會提示密碼錯誤,然后輸入新密碼后,這台主機A的這個A.ini配置文件里面的密碼就是加密后的新密碼,我們要把這個密碼復制替換自己SecureCRT的Sessions里面所有會話的密碼部分;那樣就可以解決自己不知道加密后密碼問題。

 

 

 

Python配置腳本以及該腳本的用法說明

只需要復制該腳本,把file_path_base的路徑指向自己修改過新密碼的主機配置,inrootpath的路徑指向SecureCRT的Sessions目錄,然后執行該腳本即可;

溫馨提示:作為運維人員,要時刻懂得備份配置,記得備份自己原本的Sessions目錄,萬一炸鍋了還能恢復一下,同理這個腳本也可以用來修改linux主機的密碼,只是要自己稍作修改

參考:Python批量修改SecureCRT會話密碼 - baby神 - 博客園 (cnblogs.com)

搜索批量修改SecureCRT密碼基本是搜到這篇,只是一開始我沒認真看他的代碼,他代碼寫的比我簡潔多了,我只是實現了功能,代碼基本原理就是遍歷整個目錄,修改.ini文件里面的密碼

 1 import os
 2 def change_crtPw(file_path_base, inrootpath):
 3     """
 4     :param file_path_base: 以那個配置文件的密碼為基准
 5     :param inrootpath: CRT的session目錄路徑
 6     :return: 無返回值
 7     """
 8     f = open(file_path_base)  # 返回一個文件對象
 9     for line in f:
10             try:
11                 #需要提取出這個文件的密碼,Monitor Password好像是沒啥用的,反正套路都一樣,需要提取啥都在這寫,但是這個continue要寫上,不然下面會重復匹配到這個
12                 if line.find("\"Monitor Password V2\"") != -1:
13                     Monitor_PW = line.split("=")[1].strip()
14                     continue
15                 #這個才是真的需要修改的密碼,就是去你的基准文件里面,找到加密后的密碼,沒必要自己寫個算法去破解再加密;同理你也可以匹配出用戶名來
16                 if line.find("\"Password V2\"") != -1:
17                     PW = line.split("=")[1].strip()
18                     break
19             except Exception as e:
20                 print('獲取基准配置文件失敗')
21 
22 #遍歷整個文件目錄
23     for root, dirs, files in os.walk(inrootpath):
24         for file in files:
25             file_path = os.path.join(root, file)
26             # 這段代碼的用處是把其他需要修改密碼的文件配置抓出來,同時把密碼修改為新密碼,存在temp_config中
27             with open(file_path, 'r', encoding='utf-8') as tf1:
28                 temp_config = ''
29                 for t_line in tf1:
30                     try:
31                         if t_line.find("\"Monitor Password V2\"") != -1:
32                             temp_Monitor_PW = t_line.split("=")[1].strip()
33                             t_line= t_line.replace(temp_Monitor_PW, Monitor_PW)
34                             temp_config += t_line
35                             continue
36                         if t_line.find("\"Password V2\"") != -1:
37                             temp_PW = t_line.split("=")[1].strip()
38                             t_line= t_line.replace(temp_PW, PW)
39                             temp_config += t_line
40                             continue
41                         temp_config += t_line
42                     except Exception as e:
43                         print('修改{}配置失敗'.format(file))
44             #這段代碼的意思是把修改過的配置文件全部寫回到文件中,這樣會清空原配置文件,重寫配置
45             with open(file_path, 'w', encoding='utf8') as f:
46                 f.write(temp_config)
47                 f.flush()
48                 print('修改{}配置成功'.format(file))
49 
50 #基准配置文件,就是你這個配置文件的密碼是准確的;這個地方是CRT的Session里面你修改過密碼的一份主機配置文件
51 file_path_base = r"XXX\XXX.ini"
52 # CRT的SESSION目錄,這個地方路徑是sessions的目錄
53 inrootpath = r'xxx\xxx\Sessions'
54 change_crtPw(file_path_base, inrootpath)

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM