Python Paramiko模組的安裝與使用詳解

2022-10-04 21:39:26 字數 2395 閱讀 7472

一、前言

常見的解決方法都會需要對遠端伺服器必要的配置,如果遠端伺服器只有一兩台還好說,如果有n臺,還需要逐台進行配置,或者需要使用**進行以上操作時,上面的辦法就不太方便了。而使用paramiko可以很好的解決以上問題,比起前面的方法,它僅需要在本地上安裝相應的軟體(python以及pycrypto),對遠端伺服器沒有配置要求,對於連線多台伺服器,進行複雜的連線操作特別有幫助。下面本文就來詳細的介紹python paramiko模組的安裝與使用,一起學習學習吧。、

二、安裝

安裝paramiko有兩個先決條件,python和另外乙個名為pycrypto的模組。

通常安裝標準的pyt程式設計客棧hon模組,只需要在模組的根目錄下執行:

python setup.py build

python setup.py install

備註:安裝前先檢查是否安裝gcc(yum -y install gcc)

2.1 pycrypto安裝

wget

tar -zxvf pycrypto-2.6.tar.gz

cd pycrypto-2.6/

python setup.py build && python setup.py install

測試:python>> import crypto

(編譯時報錯:error: command 'gcc' failed with exit status 1;這是因為缺少python-dev的軟體包,所yum -y install python-devel)

2.2 paramiko安裝

wget

tar xvzf paramiko-1.7.7.1.tar.gz

cd paramiko-1.7.7.1/

python setup.py build && python setup.py install

crypto error: 'module' object has no attribute 'h**e_decl_mpz_powm_sec'

測試:python>> import paramiko

(crypto error: 'module' object has no attribute 'h**e_decl_mpz_powm_sec'

找到 /usr/lib/python2.7/site-packages/crypto/util/number.py

把if _fastmath is not none and not _fastmath.h**e_decl_mpz_powm_sec:

注釋了#if _fastmath is not none and not _fastmath.h**e_decl_mpz_powm_sec:

三、使用

3.1 執行遠端命令

#!/usr/bin/python

impo 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()

3.2 上傳檔案到遠端

#!/usr/bin/python

import paramiko

t = paramiko.transport(("某ip位址",22))

t.connect(username = "使用者名稱", password = "口令")

sftp = paramiko.sftpclien程式設計客棧t.from_transport(t)

remotepath='/tmp/test.txt'

localpath='/tmp/test.txt'

sftp.put(localpath,remotepath)

t.close()

3.3 從遠端**檔案

#!/usr/bin/python

import paramiko

t = paramiko.transport(("某ip位址",22))

t.conivuimwnect(username = "使用者名稱", password = 程式設計客棧"口令")

sftp = paramiko.sftpclient.from_transport(t)

remotepath='/tmp/test.txt'

localpath='/tmp/test.txt'

sftp.get(remotepath, localpath)

t.close()

總結本文標題: python paramiko模組的安裝與使用詳解

本文位址:

python paramiko 各種錯誤

這個錯誤出現在伺服器接受連線但是ssh守護程序沒有及時響應的情況 預設是15s 要解決這個問題,需要將paramiko的響應等待時間調長。transport.py中def init 初始化函式中 how long seconds to wait for the ssh banner self.ban...

Python Paramiko模組的使用

windows下有很多非常好的ssh客戶端,比如putty。在python的世界裡,你可以使用原始套接字和一些加密函式建立自己的ssh客戶端或服務端,但如果有現成的模組,為什麼還要自己實現呢。使用paramiko庫中的pycrypto能夠讓你輕鬆使用ssh2協議。paramiko的安裝方法網上有很多...

Python paramiko實現跳轉控制

通過ssh 的proxycommand,建立關係,用paramiko模組,呼叫proxycommand方法 一 通過一台跳板機免密 a主機 b跳板機 c主機 做好a免密登入b,b免密登入c a主機 ssh下新增檔案b private,內容為b的私鑰 a主機 ssh下增加config檔案,內容為 ho...