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。
安裝過程也比較簡(jiǎn)單,先安裝pycrypto后安裝paramiko,解壓后在命令提示符下切換到解壓后的目錄,輸入python setup.py install就可以了。另外安裝pycrypto前需要先安裝mingw,不然會(huì)因?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的下載與安裝請(qǐng)參考:《windows下安裝python paramiko模塊的代碼》
安裝好以后就可以編寫寫代碼了。由于我的SSH服務(wù)器只需要用戶名和密碼就可以連接,應(yīng)該說屬于最簡(jiǎn)單的一種了。
下面是一個(gè)例子,相信一看就懂了:
stdout.readlines()返回一個(gè)列表,一般來說,Linux命令的每行輸出存儲(chǔ)為一個(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 >>>
希望本文所述對(duì)大家的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自動(dòng)連接ssh的方法
- Python自動(dòng)連接SSH的實(shí)現(xiàn)步驟
相關(guān)文章
Python Flask-Login實(shí)現(xiàn)用戶會(huì)話管理
這篇文章主要介紹了Python Flask-Login實(shí)現(xiàn)用戶會(huì)話管理過程,F(xiàn)lask-Login為Flask提供用戶會(huì)話管理。它處理登錄、注銷和長時(shí)間記住用戶會(huì)話等常見任務(wù)2022-12-12
scrapy中如何設(shè)置應(yīng)用cookies的方法(3種)
這篇文章主要介紹了scrapy中如何設(shè)置應(yīng)用cookies的方法(3種),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-09-09
Django migrate報(bào)錯(cuò)的解決方案
在講解如何解決migrate報(bào)錯(cuò)原因前,我們先要了解migrate做了什么事情,本文就詳細(xì)的介紹migrate使用以及出現(xiàn)問題的解決,感興趣的可以了解一下2021-05-05
Python+Selenium定位不到元素常見原因及解決辦法(報(bào):NoSuchElementException)
這篇文章主要介紹了Python+Selenium定位不到元素常見原因及解決辦法(報(bào):NoSuchElementException),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-03-03
基于python實(shí)現(xiàn)MUI區(qū)域滾動(dòng)
這篇文章主要介紹的是python實(shí)現(xiàn)MUI區(qū)域滾動(dòng),MUI提供了區(qū)域滾動(dòng)的組件,使用時(shí)遵循DOM結(jié)構(gòu)就可以,下面來看看文章具體的實(shí)現(xiàn)內(nèi)容,需要的朋友可以參考一下2021-11-11
Python使用Windows API創(chuàng)建窗口示例【基于win32gui模塊】
這篇文章主要介紹了Python使用Windows API創(chuàng)建窗口操作,結(jié)合實(shí)例形式分析了Python基于win32gui模塊調(diào)用Windows API創(chuàng)建窗口具體操作步驟與相關(guān)實(shí)現(xiàn)技巧,需要的朋友可以參考下2018-05-05
關(guān)于Python Socket編程的要點(diǎn)詳解
Socket是網(wǎng)絡(luò)編程的一個(gè)抽象概念,通常我們用一個(gè)Socket表示“打開了一個(gè)網(wǎng)絡(luò)鏈接”,而打開一個(gè)Socket需要知道目標(biāo)計(jì)算機(jī)的IP地址和端口號(hào),再指定協(xié)議類型即可,這篇文章主要給大家介紹了關(guān)于Python Socket編程的相關(guān)資料,需要的朋友可以參考下2021-08-08

