paramiko的安裝與使用
阿新 • • 發佈:2017-05-10
roo ace .cn 密碼 oot 通過 技術分享 sha img
paramiko是用python語言寫的一個模塊,遵循SSH2協議,支持以加密和認證的方式,進行遠程服務器的連接,支持在遠程登錄服務器執行命令和上傳下載文件的功能。
安裝
pycrypto下載地址:
http://www.voidspace.org.uk/python/modules.shtml#pycrypto
ecdsa下載地址:
https://pypi.python.org/pypi/ecdsa/0.9
paramiko安裝:pip install paramiko
登陸
基於用戶名密碼的SSHClient登陸
#!/usr/bin/env python # -*- coding:utf-8 -*- __Author__ = ‘kongZhaGen‘ import paramiko # 初始化SSHClient類對象 ssh = paramiko.SSHClient() # 允許連接不在known_hosts中的服務器 ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy()) # 通過用戶名及密碼登陸服務器 ssh.connect(hostname=‘172.10.228.2‘, port=22, username=‘root‘, password=‘654321‘) # 執行結果返回三個值 stdin, stdout, stderr = ssh.exec_command(‘df -h‘) print stdout.read() print ‘------------------‘ print stderr.read() ssh.close()
結果
基於RSAKEY的SSHClient登陸
#!/usr/bin/env python # -*- coding:utf-8 -*- __Author__ = ‘kongZhaGen‘ import paramiko # 本地可用的私鑰文件路徑,生成私鑰時如果有密碼,需要加password參數 key = paramiko.RSAKey.from_private_key_file(‘id_rsa.txt‘) # 初始化SSHClient類對象 ssh = paramiko.SSHClient() # 允許連接不在known_hosts中的服務器 ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy()) # 通過用戶名及密碼登陸服務器 ssh.connect(hostname=‘192.168.56.41‘, port=22, username=‘root‘, pkey=key) # 執行結果返回三個值 stdin, stdout, stderr = ssh.exec_command(‘df -h‘) print stdout.read() print ‘------------------‘ print stderr.read() ssh.close()
結果
paramiko的安裝與使用