Python實(shí)現(xiàn)建立SSH連接的方法
本文實(shí)例講述了Python實(shí)現(xiàn)建立SSH連接的方法。分享給大家供大家參考。具體實(shí)現(xiàn)方法如下:
我需要實(shí)現(xiàn)一個(gè)Windows下遠(yuǎn)程連接到SSH服務(wù)器執(zhí)行命令的功能,所以就在網(wǎng)上找資料。我的環(huán)境是:Windows7 64位,Python 2.7 32位。按照網(wǎng)上的說法,需要下載pycrypto和paramiko兩個(gè)模塊進(jìn)行安裝。最后下載的版本是pycrypto2.3和paramiko1.7.6。
安裝過程也比較簡單,先安裝pycrypto后安裝paramiko,解壓后在命令提示符下切換到解壓后的目錄,輸入python setup.py install就可以了。另外安裝pycrypto前需要先安裝mingw,不然會因?yàn)槿鄙倬幾g器而提示缺少一個(gè)BAT文件。安裝好mingw后,需要在Python安裝目錄下的Lib\distutils\文件夾里建立一個(gè)distutils.cfg文件,文件內(nèi)容為:
[build]
compiler=mingw32
mingw的下載地址:http://sourceforge.net/projects/mingw/files/Automated%20MinGW%20Installer/mingw-get-inst/
pycrypto及paramiko的下載與安裝請參考:《windows下安裝python paramiko模塊的代碼》
安裝好以后就可以編寫寫代碼了。由于我的SSH服務(wù)器只需要用戶名和密碼就可以連接,應(yīng)該說屬于最簡單的一種了。
下面是一個(gè)例子,相信一看就懂了:
stdout.readlines()返回一個(gè)列表,一般來說,Linux命令的每行輸出存儲為一個(gè)元素,且已經(jīng)帶了換行符。
import paramiko
client = paramiko.SSHClient()
client.set_missing_host_key_policy(paramiko.AutoAddPolicy())
client.connect('192.168.8.248', 22, username='root', password='password', timeout=4)
stdin, stdout, stderr = client.exec_command('ls -l')
for std in stdout.readlines():
print std,
client.close()
輸出的結(jié)果為:
>>> 總計(jì) 184804 -rw------- 1 root root 973 05-19 20:27 anaconda-ks.cfg -rw-r--r-- 1 root root 13895 05-19 20:27 install.log -rw-r--r-- 1 root root 3058 05-19 20:25 install.log.syslog -rw-r--r-- 1 root root 189008625 05-28 09:55 tmp >>>
希望本文所述對大家的Python程序設(shè)計(jì)有所幫助。
- 如何使用Python連接?SSH?服務(wù)器并執(zhí)行命令
- Python如何實(shí)現(xiàn)SSH遠(yuǎn)程連接與文件傳輸
- python paramiko連接ssh實(shí)現(xiàn)命令
- Python基于ssh遠(yuǎn)程連接Mysql數(shù)據(jù)庫操作
- Python用SSH連接到網(wǎng)絡(luò)設(shè)備
- Python3 SSH遠(yuǎn)程連接服務(wù)器的方法示例
- python下paramiko模塊實(shí)現(xiàn)ssh連接登錄Linux服務(wù)器
- Python自動連接ssh的方法
- Python自動連接SSH的實(shí)現(xiàn)步驟
相關(guān)文章
Python小游戲之300行代碼實(shí)現(xiàn)俄羅斯方塊
這篇文章主要給大家介紹了關(guān)于Python小游戲之300行代碼實(shí)現(xiàn)俄羅斯方塊的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起看看吧2019-01-01
python使用DrissionPage庫進(jìn)行網(wǎng)頁自動化操作和數(shù)據(jù)提取
隨著自動化測試、數(shù)據(jù)抓取和網(wǎng)頁交互應(yīng)用的日益增多,在眾多的自動化庫中,DrissionPage?作為一個(gè)新興的庫,以其簡潔易用和強(qiáng)大的功能受到越來越多開發(fā)者的關(guān)注,本文將介紹如何使用?DrissionPage?進(jìn)行網(wǎng)頁自動化操作和數(shù)據(jù)提取,需要的朋友可以參考下2024-11-11
Python入門教程(十九)python的函數(shù)詳解
這篇文章主要介紹了Python入門教程(十九)python的函數(shù),函數(shù)是組織好的,可重復(fù)使用的,用來實(shí)現(xiàn)單一,或相關(guān)聯(lián)功能的代碼段,需要的朋友可以參考下2023-04-04
Python collections.deque雙邊隊(duì)列原理詳解
這篇文章主要介紹了Python collections.deque雙邊隊(duì)列原理詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-10-10
淺談python在提示符下使用open打開文件失敗的原因及解決方法
今天小編就為大家分享一篇淺談python在提示符下使用open打開文件失敗的原因及解決方法,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-11-11
解決keras加入lambda層時(shí)shape的問題
這篇文章主要介紹了解決keras加入lambda層時(shí)shape的問題,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-06-06

