日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > windows >内容正文

windows

paramiko在windows上的安装和使用

發布時間:2024/4/15 windows 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 paramiko在windows上的安装和使用 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一:簡介

paramiko是用python語言寫的一個模塊,遵循SSH2協議,支持以加密和認證的方式,進行遠程服務器的連接。

由于使用的是python這樣的能夠跨平臺運行的語言,所以所有python支持的平臺,如Linux, Solaris, BSD, MacOS X,?Windows等,paramiko都可以支持,因此,如果需要使用SSH從一個平臺連接到另外一個平臺,進行一系列的操作時,paramiko是最佳工具之一。

舉個常見的例子,現有這樣的需求:需要使用windows客戶端,遠程連接到Linux服務器,查看上面的日志狀態,大家通常使用的方法會是:

1:用telnet

2:用PUTTY

3:用WinSCP

4:用XManager等…

那現在如果需求又增加一條,要從服務器上下載文件,該怎么辦?那常用的辦法可能會是:

1:Linux上安裝FTP并配置

2:Linux上安裝Sambe并配置…

大家會發現,常見的解決方法都會需要對遠程服務器必要的配置,如果遠程服務器只有一兩臺還好說,如果有N臺,還需要逐臺進行配置,或者需要使用代碼進行以上操作時,上面的辦法就不太方便了。

使用paramiko可以很好的解決以上問題,比起前面的方法,它僅需要在本地上安裝相應的軟件(python以及PyCrypto),對遠程服務器沒有配置要求,對于連接多臺服務器,進行復雜的連接操作特別有幫助。

二:安裝

安裝paramiko有兩個先決條件,python和另外一個名為PyCrypto的模塊。

通常安裝標準的python模塊,只需要在模塊的根目錄下運行:

python?setup.py?buildpython?setup.py?install

以上兩條命令即可,paramiko和PyCrypto也不例外,唯一麻煩的就是安裝PyCrypto時,需要GCC庫編譯,如果沒有GCC庫會報錯,會導致PyCrypto以及paramiko無法安裝。

以下以32 位的windows XP為例,說明paramiko的安裝過程

?

1:安裝python,2.2以上版本都可以,我使用的是2.5,安裝過程略,并假設安裝目錄是c:\python。

?

2:判斷本地是否安裝了GCC,并在PATH變量可以找到,如果沒有,可使用windows 版的GCC,即MinGW,下載地址:http://sourceforge.net/projects/mingw/,然后運行下載后的exe文件進行網絡安裝,假設目錄為C:\mingw,在PATH中加入?C:\mingw\bin,并在c:\python\lib\distutils下新建一個名稱是distutils.cfg的文件,填入:

[build]? compiler=mingw32

?

3:下載PyCrypto ,地址是

https://www.dlitz.net/software/pycrypto/

安裝PyCrypto:

  • 解壓縮

  • 在dos下進入解壓縮的目錄,運行

C:\python\python.exe?setup.py?buildC:\python\python.exe?setup.py?install

?

  • 安裝測試

  運行python.exe,在提示符下輸入:

Import??Crypto

  如果沒有出現錯誤提示,說明Crypto安裝成功

?

4:下載paramiko,地址是http://www.lag.net/paramiko/

  • 解壓縮

  • 在dos下進 入解壓縮的目錄,運行

C:\python\python.exe?setup.py?buildC:\python\python.exe?setup.py?install
  • 測試paramiko

  運行python.exe,在提示符下輸入:

Import??paramiko

  如果沒有出現錯誤提示,說明paramiko安裝成功

?

三:?使用paramiko

?

如果大家感覺安裝paramiko還是略有麻煩的話,當使用到paramiko提供的方便時便會覺得這是十分值得的。

下面是兩種使用paramiko連接到linux服務器的代碼

方式一:

ssh?=?paramiko.SSHClient() ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy()) ssh.connect(,22,,?)

上面的第二行代碼的作用是允許連接不在know_hosts文件中的主機。

?

方式二:

t?=?paramiko.Transport((“主機”,”端口”)) t.connect(username?=?“用戶名”,?password?=?“口令”)

如果連接遠程主機需要提供密鑰,上面第二行代碼可改成:

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("你的命令")
for line in (stdout.readlines()):
??? print (line,end='')
ssh.close()

其中的”你的命令”可以任意linux支持的命令,如一些常用的命令:

df:查看磁盤使用情況 uptime:顯示系統運行時間信息 cat:顯示某文件內容 mv/cp// /sbin/service/?xxxservice?/stop/restart:啟動、停止、重啟某服務 netstat?-ntl?|grep?8080:查看8080端口的使用情況?或者?nc?-zv?localhost?:查看所有端口的使用情況?/?-name?XXX:查找某文件3.2?從widnows端下載linux服務器上的文件
?paramikot?=?paramiko.Transport((“主機”,”端口”)) 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()3.3?從widnows端上傳文件到linux服務器
?paramikot?=?paramiko.Transport((“主機”,”端口”)) 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()



轉載于:https://blog.51cto.com/zcl1101017794/1603589

與50位技術專家面對面20年技術見證,附贈技術全景圖

總結

以上是生活随笔為你收集整理的paramiko在windows上的安装和使用的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。