1. 程式人生 > >paramiko的安裝與使用

paramiko的安裝與使用

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的安裝與使用