Windows系統(tǒng)下安裝Python的SSH模塊教程
Python中使用SSH需要用到OpenSSH,而OpenSSH依賴于paramiko模塊,而paramiko模塊又依賴于pycrypto模塊,因此要在Python中使用SSH,則需要先安裝模塊順序是:pycrypto -> ecdsa -> paramiko
1、安裝pyCrypto
安裝這個比較麻煩,需要本地編譯,要裝vs或gcc還有一堆配置,還不一定能編譯成功。(網(wǎng)上能搜到安裝步驟)
建議直接下載已編譯版: http://www.voidspace.org.uk/python/modules.shtml#pycrypto
直接下載并安裝既可。
(注:crypto有java和C++版)
2、安裝ecdsa
看很多博客沒有提到這個庫,但我執(zhí)行paramiko時,提示找不到ecdsa模塊。
下載:https://pypi.python.org/pypi/ecdsa/0.9 ,解壓到一個目錄,目錄中有一個setup.py。
安裝比較簡單,windows下直接在剛才解壓后的目錄執(zhí)行:python setup.py install
3.安裝paramiko
與安裝ecdsa類型,只是打開下載頁面很慢。。。
下載: https://github.com/paramiko/paramiko#,
安裝步驟同ecdsa
注:1、所有另外安裝的第三方庫,如果不特指定安裝后庫目錄的話,將默認(rèn)保存到 %PYTHON_HOME%\Lib\site-packages下。
2、python大小寫敏感,對模塊名也是。
3、Crypto可以提供常見的加解密算法,如:RSA、RC4、DSA、DES
測試代碼:
#!/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í)行多個服務(wù)器的ssh命令,批量維護比較方便。
下面是兩種使用paramiko連接到linux服務(wù)器的代碼
方式一:
ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh.connect("某IP地址",22,"用戶名", "口令")
上面的第二行代碼的作用是允許連接不在know_hosts文件中的主機
方式二:
t = paramiko.Transport(("主機","端口"))
t.connect(username = "用戶名", password = "口令")
如果連接遠(yuǎn)程主機需要提供密鑰,上面第二行代碼可改成:
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(("主機","端口"))
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(("主機","端口"))
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ù)器實踐
- python通過ssh-powershell監(jiān)控windows的方法
- windows7下安裝php的php-ssh2擴展教程
- ssh遠(yuǎn)程執(zhí)行命令方法和Shell腳本實例
- ssh自動登錄的4種實現(xiàn)方法
- python paramiko實現(xiàn)ssh遠(yuǎn)程訪問的方法
- Python實現(xiàn)建立SSH連接的方法
- 簡單架設(shè)SSH+Squid代理服務(wù)器的自由上網(wǎng)通道的方法
- 關(guān)于ssh連不上問題的解決方法(必看)
- SSH框架網(wǎng)上商城項目第30戰(zhàn)之項目總結(jié)(附源碼下載地址)
- 關(guān)于SSH 遠(yuǎn)程執(zhí)行命令你要知道的二三事
- SSH+Jquery+Ajax框架整合
- Ubuntu下查看ssh服務(wù)是否安裝或啟動的方法
- ssh連接超時解決方法
- PowerShell小技巧之嘗試ssh登錄
- shell腳本實現(xiàn)ssh自動登錄功能分享
- linux系統(tǒng)下的ssh登錄和配置方法
- Linux ssh遠(yuǎn)程連接斷開問題處理辦法解決
- python使用paramiko模塊實現(xiàn)ssh遠(yuǎn)程登陸上傳文件并執(zhí)行
- 無需密碼通過ssh執(zhí)行rsync來同步文件的方法
- ubuntu16.04下安裝openssh-server報依賴錯誤的完美解決方法(非常不錯)
- windows安裝openssh并通過生成SSH密鑰登錄Linux服務(wù)器
相關(guān)文章
Python實現(xiàn)動態(tài)二維碼生成的示例代碼
這篇文章主要和大家分享兩個制作二維碼的Python庫,可以生成普通的二維碼、圖片背景版二維碼、動圖GIF版二維。文中的示例代碼講解詳細(xì),感興趣的可以學(xué)習(xí)一下2022-05-05Pandas DataFrame數(shù)據(jù)存儲格式比較分析
Pandas 支持多種存儲格式,在本文中將對不同類型存儲格式下的Pandas Dataframe的讀取速度、寫入速度和大小的進行測試對比,有需要的朋友可以借鑒參考下,希望能夠有所幫助2023-09-09Python中print函數(shù)語法格式以及各參數(shù)舉例詳解
這篇文章主要給大家介紹了關(guān)于Python中print函數(shù)語法格式以及各參數(shù)舉例詳解的相關(guān)資料,print()函數(shù)用于將指定的字符串或?qū)ο?通常是字符串)輸出到屏幕或文件中,需要的朋友可以參考下2023-10-10基于Python+Pygame實現(xiàn)變異狗大戰(zhàn)游戲
只有你想不到,沒有我找不到寫不了的好游戲!這篇文章就來和大家分享一下如何基于Python+Pygame實現(xiàn)變異狗大戰(zhàn)游戲,感興趣的可以了解一下2023-03-03