Python中的模塊--SSH相關(guān)模塊

Python中使用SSH需要用到OpenSSH梳虽,而OpenSSH依賴于paramiko模塊轻纪,而paramiko模塊又依賴于pycrypto模塊噪生,因此要在Python中使用SSH逻淌,則需要先安裝模塊順序是: pycrypto -> paramiko

我是直接使用pip安裝:

下面是網(wǎng)上的一些栗子:

栗子一:執(zhí)行遠(yuǎn)程命令:

import paramiko 
#新建一個ssh客戶端對象
client = paramiko.SSHClient() 
# 設(shè)置成默認(rèn)自動接受密鑰
client.set_missing_host_key_policy(paramiko.AutoAddPolicy()) 
#連接遠(yuǎn)程主機(jī)
client.connect('IP', 22, username='root', password='password', timeout=4) 
#在遠(yuǎn)程主機(jī)執(zhí)行shell命令
stdin, stdout, stderr = client.exec_command('ls -l') 
#讀取執(zhí)行結(jié)果
for std in stdout.readlines(): 
    print (std,)
client.close()

栗子二:上傳本地文件至遠(yuǎn)程主機(jī)

import paramiko 
t = paramiko.Transport(("IP",22)) 
t.connect(username = "username", password = "password") 
sftp = paramiko.SFTPClient.from_transport(t) 
remotepath='/tmp/test.txt' 
localpath='/tmp/test.txt' 
sftp.put(localpath,remotepath) 
t.close()

栗子三:下載遠(yuǎn)程主機(jī)文件到本地

import paramiko 
t = paramiko.Transport(("IP",22)) 
t.connect(username = "username", password = "password") 
sftp = paramiko.SFTPClient.from_transport(t) 
remotepath='/tmp/test.txt' 
localpath='/tmp/test.txt' 
sftp.get(remotepath, localpath) 
t.close()

栗子四:
通常需要對多個服務(wù)器或者虛擬機(jī)進(jìn)行管理,可以采用批量的方式進(jìn)行。

import paramiko  
import threading  
def ssh2(ip,username,passwd,cmd):  
    try:  
        ssh = paramiko.SSHClient()  
        ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())  
        ssh.connect(ip,22,username,passwd,timeout=5)  
        for m in cmd:  
            stdin, stdout, stderr = ssh.exec_command(m)  
            out = stdout.readlines()  
            for o in out:  
                print (o,)  #屏幕輸出
        print ('%s\tOK\n'%(ip))  
        ssh.close()  
    except :  
        print ('%s\tError\n'%(ip))  
if __name__=='__main__':  
    cmd = ['echo hello!']#需要執(zhí)行的命令列表  
    username = "root"  #用戶名  
    passwd = "root"    #密碼  
    threads = []   #多線程  
    print ("Begin excute......") 
    for i in range(1,254):  
        ip = '192.168.1.'+str(i)  
        a=threading.Thread(target=ssh2,args=(ip,username,passwd,cmd))   
        a.start() 

最后一個栗子,如果命令較少,pssh更適合备恤。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市锦秒,隨后出現(xiàn)的幾起案子露泊,更是在濱河造成了極大的恐慌,老刑警劉巖旅择,帶你破解...
    沈念sama閱讀 222,590評論 6 517
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件惭笑,死亡現(xiàn)場離奇詭異,居然都是意外死亡砌左,警方通過查閱死者的電腦和手機(jī)脖咐,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,157評論 3 399
  • 文/潘曉璐 我一進(jìn)店門铺敌,熙熙樓的掌柜王于貴愁眉苦臉地迎上來汇歹,“玉大人,你說我怎么就攤上這事偿凭〔” “怎么了?”我有些...
    開封第一講書人閱讀 169,301評論 0 362
  • 文/不壞的土叔 我叫張陵弯囊,是天一觀的道長痰哨。 經(jīng)常有香客問我,道長匾嘱,這世上最難降的妖魔是什么斤斧? 我笑而不...
    開封第一講書人閱讀 60,078評論 1 300
  • 正文 為了忘掉前任,我火速辦了婚禮霎烙,結(jié)果婚禮上撬讽,老公的妹妹穿的比我還像新娘蕊连。我一直安慰自己,他們只是感情好游昼,可當(dāng)我...
    茶點(diǎn)故事閱讀 69,082評論 6 398
  • 文/花漫 我一把揭開白布甘苍。 她就那樣靜靜地躺著,像睡著了一般烘豌。 火紅的嫁衣襯著肌膚如雪载庭。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,682評論 1 312
  • 那天廊佩,我揣著相機(jī)與錄音囚聚,去河邊找鬼。 笑死标锄,一個胖子當(dāng)著我的面吹牛靡挥,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播鸯绿,決...
    沈念sama閱讀 41,155評論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼跋破,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了瓶蝴?” 一聲冷哼從身側(cè)響起毒返,我...
    開封第一講書人閱讀 40,098評論 0 277
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎舷手,沒想到半個月后拧簸,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,638評論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡男窟,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,701評論 3 342
  • 正文 我和宋清朗相戀三年盆赤,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片歉眷。...
    茶點(diǎn)故事閱讀 40,852評論 1 353
  • 序言:一個原本活蹦亂跳的男人離奇死亡牺六,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出汗捡,到底是詐尸還是另有隱情淑际,我是刑警寧澤,帶...
    沈念sama閱讀 36,520評論 5 351
  • 正文 年R本政府宣布扇住,位于F島的核電站春缕,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏艘蹋。R本人自食惡果不足惜锄贼,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,181評論 3 335
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望女阀。 院中可真熱鬧宅荤,春花似錦米间、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,674評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至琼了,卻和暖如春逻锐,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背雕薪。 一陣腳步聲響...
    開封第一講書人閱讀 33,788評論 1 274
  • 我被黑心中介騙來泰國打工昧诱, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人所袁。 一個月前我還...
    沈念sama閱讀 49,279評論 3 379
  • 正文 我出身青樓盏档,卻偏偏與公主長得像,于是被迫代替她去往敵國和親燥爷。 傳聞我的和親對象是個殘疾皇子蜈亩,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,851評論 2 361

推薦閱讀更多精彩內(nèi)容

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn)前翎,斷路器稚配,智...
    卡卡羅2017閱讀 134,715評論 18 139
  • linux資料總章2.1 1.0寫的不好抱歉 但是2.0已經(jīng)改了很多 但是錯誤還是無法避免 以后資料會慢慢更新 大...
    數(shù)據(jù)革命閱讀 12,176評論 2 33
  • paramiko是用python語言寫的一個模塊,遵循SSH2協(xié)議港华,支持以加密和認(rèn)證的方式道川,進(jìn)行遠(yuǎn)程服務(wù)器的連接。...
    超能_閱讀 20,165評論 2 16
  • 一立宜、Nagios簡介 Nagios是一款開源的電腦系統(tǒng)和網(wǎng)絡(luò)監(jiān)視工具冒萄,能有效監(jiān)控Windows、Linux和Uni...
    1b3bd36d9d21閱讀 8,184評論 3 13
  • 有必要先來了解什么是SSH和什么是SSH key橙数。 SSH Secure Shell (SSH) 是一個允許兩臺電...
    faner閱讀 47,379評論 1 48