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