使用python 的paramiko制作堡垒机
堡壘機-readme:
(數(shù)據(jù)庫為mysql)
1、如果數(shù)據(jù)庫不存在,就創(chuàng)建數(shù)據(jù)庫,對數(shù)據(jù)庫的用戶授權(quán),創(chuàng)建表結(jié)構(gòu),和初始化一些數(shù)據(jù)
2、如果數(shù)據(jù)庫存在,就跳到下一步
3、用戶登錄堡壘機進行驗證
4、如果此堡壘機用戶存在,驗證成功,就列出該堡壘機用戶所有的主機組,和該用戶的主機組里可以使用的主機數(shù)量。
5、用戶選擇某個主機組,就可以看到可用主機和用戶的列表。
6、用戶選擇使用某個用戶進入某個主機,或者批量執(zhí)行命令。
7、如果堡壘機用戶,選擇使用某個用戶進入單臺主機,就使用paramiko加載本地know_hosts文件,進行密鑰驗證,用ssh登錄客戶端主機
? ?session方式建立channel實例。與主機交互,執(zhí)行命令,同時按5條5條地寫入數(shù)據(jù)庫。
8、如果堡壘機用戶,選擇批量執(zhí)行命令。就創(chuàng)建多進程的進程池,
? ?就使用paramiko加載本地know_hosts文件,進行密鑰驗證,用ssh連接客戶端主機。
? ?執(zhí)行命令,然后加鎖,打印命令結(jié)果,釋放鎖。等待進程池里的所有進程執(zhí)行完畢,給用戶提示全部執(zhí)行完畢。
轉(zhuǎn)載于:https://blog.51cto.com/wangqiaomei/1697902
總結(jié)
以上是生活随笔為你收集整理的使用python 的paramiko制作堡垒机的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 动态规划 HDOJ2602-Bone C
- 下一篇: 【Android】解析Json数据