国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > Python > 正文

Python操作遠程服務器 paramiko模塊詳細介紹

2024-09-09 19:02:29
字體:
來源:轉載
供稿:網友

前言

paramiko模塊是基于Python實現的SSH遠程安全連接,可以提供在遠程服務器上執行命令、上傳文件到服務器或者從指定服務器下載文件的功能。

paramiko模塊安裝方法

paramiko模塊不是python自帶的標準庫,需要自行下載安裝,建議使用pip自動安裝。方法如下:

(1)配置pip命令和鏡像源路徑。如果已配置,跳過。

(2)執行pip install paramiko進行安裝。出現successful字樣表示安裝完成。

paramiko常用函數介紹

SSHclient類

(1)ssh遠程連接服務器,格式為:connect(hostname, port=22, username=None, password=None, pkey=None, key_filename=None, timeout=None, ...)。其中hostname表示主機IP,port表示ssh服務端口號,默認是22,username和password表示登錄用戶名和密碼,timeout表示設置連接超時時長。

(2)遠程主機沒有本地主機密鑰或HostKeys對象時的連接方法。格式為:set_missing_host_key_policy(policy)。其中policy

參數常見取值有3種,分別如下:

AutoAddPolicy:自動添加主機名及主機密鑰到本地的known_hosts,不依賴load_system_host_key的配置。即新建立ssh連接時不需要再輸入yes或no進行確認。最為常用。 WarningPolicy 用于記錄一個未知的主機密鑰的python警告。并接受,功能上和AutoAddPolicy類似,但是會提示是新連接。 RejectPolicy 自動拒絕未知的主機名和密鑰,依賴load_system_host_key的配置。此為默認選項

(3)遠程執行命令,函數格式:exec_command(command, bufsize=-1, timeout=None, get_pty=False, environment=None),該命令的輸入與輸出流為標準輸入、標出輸出、標準錯誤輸出。

(4)在遠程服務器上生成新的交互式shell。函數格式為:invoke_shell(term='vt100', width=80, height=24, width_pixels=0, height_pixels=0, environment=None)。

上述只是介紹了SSHclient類常用的幾個函數。SSHclient類函數詳細介紹參考SSHClient

SFTPClient類

(1)創建一個已連通的SFTP客戶端通道,格式為:from_transport(cls,t)

(2)將本地文件上傳到服務器,格式為:put(localpath, remotepath, callback=None, confirm=True)

(3)從服務器下載文件到本地,格式為:get(remotepath, localpath, callback=None)

(4)在服務器上創建目錄,格式為:mkdir()

(5)在服務器上刪除目錄,格式為:remove()

(6)在服務器上重命名目錄,格式為:rename()

(7) 查看服務器文件狀態,格式為:stat()

(8)列出服務器目錄下的文件,格式為:listdir()

paramiko常用場景

(1)在遠程服務器執行命令,并獲取命執行命令輸出結果

import paramikossh = paramiko.SSHClient()ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())ssh.connect(hostname='192.168.0.1', port=22, username='root', password='Aa12345!')stdin, stdout, stderr = ssh.exec_command('df -k')print stdout.read()ssh.close()

(2)在遠程服務器執行命令,并獲取執行命令的結果碼

import paramikossh = paramiko.SSHClient()ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())ssh.connect(hostname='192.168.0.1', port=22, username='root', password='Aa12345!')stdin, stdout, stderr = ssh.exec_command('df -k')channel = stdout.channelret = channel.recv_exit_status()if ret == 0:  print stdout.read()else:  print stderr.read()
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 米林县| 北辰区| 同心县| 丹寨县| 淳安县| 伽师县| 建阳市| 临漳县| 辽宁省| 峨山| 黄浦区| 大悟县| 和田县| 麦盖提县| 高雄市| 定安县| 海宁市| 瓦房店市| 宜都市| 馆陶县| 茌平县| 东乡族自治县| 中江县| 杂多县| 莱州市| 普宁市| 资中县| 双桥区| 武功县| 大同市| 多伦县| 竹山县| 玉林市| 乌什县| 娄烦县| 三门峡市| 江阴市| 雷州市| 阿克| 通化县| 顺义区|