python模組paramiko的上傳下載和遠端執行命令方法
用python實現遠端登陸主機執行命令或透過sftp上傳下載檔案,有個很好的模組paramiko模組來演示這些功能,使用起來很方便,大家可學習一下。寫了幾個小程式,用於說明此模組的使用方法。
1:連線遠端linux主機並執行命令
#!/usr/bin/env python
import paramiko
hostname='192.168.0.102'
username='root'
password='abc'
port=22
paramiko.util.log_to_file('paramiko.log')
s=paramiko.SSHClient()
s.set_missing_host_key_policy(paramiko.AutoAddPolicy())
s.connect(hostname = hostname,port=port,username=username, password=password)
stdin,stdout,stderr=s.exec_command('free;df -h')
print stdout.read()
s.close()
執行結果如下:
total used free shared buffers cached
Mem: 2074940 2057420 17520 0 42416 1867968
-/+ buffers/cache: 147036 1927904
Swap: 2096472 240 2096232
Filesystem Size Used Avail Use% Mounted on
/dev/sda1 30G 12G 17G 42% /
none 1014M 0 1014M 0% /dev/shm
/dev/sda3 2.0G 289M 1.6G 16% /var
/dev/sdb1 135G 14G 115G 11% /data
/dev/sdc1 135G 127G 880M 100% /data1
/dev/sdd1 135G 99G 30G 78% /data2
2:連線遠端linux主機上傳下載檔案(paramiko模組是用SFTP協議來實現的)
#!/usr/bin/env python
import paramiko,datetime,os
hostname='192.168.0.102'
username='root'
password='abc123'
port=22
local_dir='/tmp/'
remote_dir='/tmp/test/'
try:
t=paramiko.Transport((hostname,port))
t.connect(username=username,password=password)
sftp=paramiko.SFTPClient.from_transport(t)
#files=sftp.listdir(dir_path)
files=sftp.listdir(remote_dir)
for f in files:
print ''
print '#########################################'
print 'Beginning to download file from %s %s ' % (hostname,datetime.datetime.now())
print 'Downloading file:',os.path.join(remote_dir,f)
sftp.get(os.path.join(remote_dir,f),os.path.join(local_dir,f))#下載
#sftp.put(os.path.join(local_dir,f),os.path.join(remote_dir,f))#上傳
print 'Download file success %s ' % datetime.datetime.now()
print ''
print '##########################################'
t.close()
except Exception:
print "connect error!"
執行結果:
#########################################
Beginning to download file from 192.168.0.102 2012-11-05 15:49:01.334686
Downloading file: /tmp/test/wgetrc Download file success 2012-11-05 15:49:05.955184
##########################################
#########################################
Beginning to download file from 192.168.0.102 2012-11-05 15:49:05.955342
Downloading file: /tmp/test/xinetd.conf Download file success 2012-11-05 15:49:10.929568
##########################################
#########################################
Beginning to download file from 192.168.0.102 2012-11-05 15:49:10.929740
Downloading file: /tmp/test/warnquota.conf Download file success 2011-12-05 15:49:14.213570
##########################################
還有好多用法,具體的可以看官方文件:
©著作權歸作者所有:來自51CTO部落格作者AIOPS_DBA的原創作品,如需轉載,請註明出處,否則將追究法律責任
python上傳下載paramikoPython
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/4830/viewspace-2820323/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 再見Xshell、Xftp!Python執行Linux命令、上傳下載遠端檔案FTPPythonLinux
- 自動化測試學習:使用python庫Paramiko實現遠端伺服器上傳和下載Python伺服器
- 用golang封裝ssh用於在遠端主機上執行命令,上傳或下載檔案Golang封裝
- Python中paramiko 模組的用法Python
- python程式碼讀取遠端檔案的方法--paramikoPython
- 【liunx命令】上傳下載檔案的方法
- Python paramiko模組的安裝與使用Python
- python常用模組之paramiko與sshPython
- Python筆記之paramiko模組安裝和使用示例Python筆記
- Laravel cookie偽造,解密,和遠端命令執行LaravelCookie解密
- python下載模組Python
- 基於paramiko的檔案批次分發和命令批次執行
- 遠端執行命令,補充subprocess模組,粘包現象及解決辦法
- Apache SSI 遠端命令執行漏洞Apache
- CentOS使用expect批次遠端執行指令碼和命令CentOS指令碼
- Go實現ssh執行遠端命令及遠端終端Go
- python 3呼叫paramiko模組報錯AttributeError: modulePythonError
- Python執行作業系統命令並取得返回值和退出碼,支援有互信的遠端執行Python作業系統
- Saltstack系列2:Saltstack遠端執行命令
- PHPMailer遠端命令執行漏洞復現PHPAI
- 如何通過 SSH 在遠端 Linux 系統上執行命令Linux
- PowerShell 中,您可以透過遠端控制執行多條命令。最常見的方法是使用 Invoke-Command 命令,它允許您在遠端計算機上執行指定的命令或指令碼塊計算機指令碼
- Firefox 31~34遠端命令執行漏洞的分析Firefox
- 遠端下載上傳命令(繞過大小限制)
- Paramiko模組簡單使用
- Python模組過載的五種方法Python
- 命令列執行python時找不到模組怎麼解決命令列Python
- Windows更新+中間人=遠端命令執行Windows
- Go語言:crypto/ssh執行遠端命令Go
- 插片式遠端IO模組:單通道PNP和NPN編碼器模組功能和安裝方法
- 如何在命令列中使用 ftp 命令上傳和下載檔案命令列FTP
- 用paramiko模組寫的發版機
- paramiko執行多個作業系統命令並返回作業系統
- 判斷ssh遠端命令是否執行結束
- Python通過paramiko從遠處伺服器下載檔案資源到本地Python伺服器
- 在 PowerShell 中,"本地載入"和"遠端載入"通常指的是執行指令碼或命令的位置或方式。以下是關於本地載入和遠端載入的一些基本概念和示例:指令碼
- 通用的上傳下載(執行緒)執行緒
- Linux下快速執行歷史命令的方法Linux