Windows系統(tǒng)下安裝Python的SSH模塊教程
Python中使用SSH需要用到OpenSSH,而OpenSSH依賴于paramiko模塊,而paramiko模塊又依賴于pycrypto模塊,因此要在Python中使用SSH,則需要先安裝模塊順序是:pycrypto -> ecdsa -> paramiko
1、安裝pyCrypto
安裝這個(gè)比較麻煩,需要本地編譯,要裝vs或gcc還有一堆配置,還不一定能編譯成功。(網(wǎng)上能搜到安裝步驟)
建議直接下載已編譯版: http://www.voidspace.org.uk/python/modules.shtml#pycrypto
直接下載并安裝既可。
(注:crypto有java和C++版)
2、安裝ecdsa
看很多博客沒有提到這個(gè)庫(kù),但我執(zhí)行paramiko時(shí),提示找不到ecdsa模塊。
下載:https://pypi.python.org/pypi/ecdsa/0.9 ,解壓到一個(gè)目錄,目錄中有一個(gè)setup.py。
安裝比較簡(jiǎn)單,windows下直接在剛才解壓后的目錄執(zhí)行:python setup.py install
3.安裝paramiko
與安裝ecdsa類型,只是打開下載頁(yè)面很慢。。。
下載: https://github.com/paramiko/paramiko#,
安裝步驟同ecdsa
注:1、所有另外安裝的第三方庫(kù),如果不特指定安裝后庫(kù)目錄的話,將默認(rèn)保存到 %PYTHON_HOME%\Lib\site-packages下。
2、python大小寫敏感,對(duì)模塊名也是。
3、Crypto可以提供常見的加解密算法,如:RSA、RC4、DSA、DES
測(cè)試代碼:
#!/usr/bin/python
# -*- coding:utf-8 -*-
# cp@chenpeng.info
import paramiko
def MAIN():
host = “10.1.1.1″
port = 22
user = “root”
pswd = “111222333″
ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh.connect(host, port, user, pswd)
stdin, stdout, stderr = ssh.exec_command(‘ifconfig')
print stdout.read()
ssh.close()
#
if __name__=='__main__':
try:
MAIN()
except Exception,e:
print e
輸出如下:

目前主要用于批量執(zhí)行多個(gè)服務(wù)器的ssh命令,批量維護(hù)比較方便。
下面是兩種使用paramiko連接到linux服務(wù)器的代碼
方式一:
ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh.connect("某IP地址",22,"用戶名", "口令")
上面的第二行代碼的作用是允許連接不在know_hosts文件中的主機(jī)
方式二:
t = paramiko.Transport(("主機(jī)","端口"))
t.connect(username = "用戶名", password = "口令")
如果連接遠(yuǎn)程主機(jī)需要提供密鑰,上面第二行代碼可改成:
t.connect(username = "用戶名", password = "口令", hostkey="密鑰")
例子:
#!/usr/bin/python
import paramiko
ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh.connect("某IP地址",22,"用戶名", "口令")
stdin, stdout, stderr = ssh.exec_command("你的命令")print stdout.readlines()
ssh.close()
下載linux服務(wù)器上的文件
#!/usr/bin/python
import paramiko
t = paramiko.Transport(("主機(jī)","端口"))
t.connect(username = "用戶名", password = "口令")
sftp = paramiko.SFTPClient.from_transport(t)
remotepath='/var/log/system.log'
localpath='/tmp/system.log'
sftp.get(remotepath, localpath)
t.close()
上傳文件到linux服務(wù)器
#!/usr/bin/python
import paramiko
t = paramiko.Transport(("主機(jī)","端口"))
t.connect(username = "用戶名", password = "口令")
sftp = paramiko.SFTPClient.from_transport(t)
remotepath='/var/log/system.log'
localpath='/tmp/system.log'
sftp.put(localpath,remotepath)
t.close()
- Windows上SSH服務(wù)器配置圖文教程
- windows 7架設(shè)OpenSSH服務(wù)器實(shí)踐
- python通過ssh-powershell監(jiān)控windows的方法
- windows7下安裝php的php-ssh2擴(kuò)展教程
- ssh遠(yuǎn)程執(zhí)行命令方法和Shell腳本實(shí)例
- ssh自動(dòng)登錄的4種實(shí)現(xiàn)方法
- python paramiko實(shí)現(xiàn)ssh遠(yuǎn)程訪問的方法
- Python實(shí)現(xiàn)建立SSH連接的方法
- 簡(jiǎn)單架設(shè)SSH+Squid代理服務(wù)器的自由上網(wǎng)通道的方法
- 關(guān)于ssh連不上問題的解決方法(必看)
- SSH框架網(wǎng)上商城項(xiàng)目第30戰(zhàn)之項(xiàng)目總結(jié)(附源碼下載地址)
- 關(guān)于SSH 遠(yuǎn)程執(zhí)行命令你要知道的二三事
- SSH+Jquery+Ajax框架整合
- Ubuntu下查看ssh服務(wù)是否安裝或啟動(dòng)的方法
- ssh連接超時(shí)解決方法
- PowerShell小技巧之嘗試ssh登錄
- shell腳本實(shí)現(xiàn)ssh自動(dòng)登錄功能分享
- linux系統(tǒng)下的ssh登錄和配置方法
- Linux ssh遠(yuǎn)程連接斷開問題處理辦法解決
- python使用paramiko模塊實(shí)現(xiàn)ssh遠(yuǎn)程登陸上傳文件并執(zhí)行
- 無需密碼通過ssh執(zhí)行rsync來同步文件的方法
- ubuntu16.04下安裝openssh-server報(bào)依賴錯(cuò)誤的完美解決方法(非常不錯(cuò))
- windows安裝openssh并通過生成SSH密鑰登錄Linux服務(wù)器
相關(guān)文章
Python3實(shí)現(xiàn)的判斷環(huán)形鏈表算法示例
這篇文章主要介紹了Python3實(shí)現(xiàn)的判斷環(huán)形鏈表算法,涉及Python針對(duì)環(huán)形鏈表的遍歷、判斷相關(guān)操作技巧,需要的朋友可以參考下2019-03-03
Python使用百度API上傳文件到百度網(wǎng)盤代碼分享
這篇文章主要介紹了Python使用百度API上傳文件到百度網(wǎng)盤代碼分享,本文使用了一個(gè)第三方庫(kù)poster,在文中給出了鏈接,需要的朋友可以參考下2014-11-11
分享五個(gè)超實(shí)用Python腳本,減少垃圾軟件負(fù)擔(dān)
今天給大家?guī)韼讉€(gè)實(shí)用的python腳本工具,可以實(shí)現(xiàn)系統(tǒng)提示工具、文件夾清理工具等,這樣就再也不用擔(dān)心女朋友在電腦里安裝垃圾軟件啦2022-05-05
Python讀取和寫入txt、Excel文件和JSON文件的方法
Python 提供了多種方法來讀取和寫入不同類型的文件,包括文本文件(txt)、Excel 文件和 JSON 文件,本文給大家介紹了一些常用的方法和示例代碼,對(duì)大家的學(xué)習(xí)或工作有一定的幫助,需要的朋友可以參考下2024-07-07
python PIL和CV對(duì) 圖片的讀取,顯示,裁剪,保存實(shí)現(xiàn)方法
今天小編就為大家分享一篇python PIL和CV對(duì) 圖片的讀取,顯示,裁剪,保存實(shí)現(xiàn)方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2019-08-08

