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

首頁 > 編程 > Python > 正文

淺談python之自動化運維(Paramiko)

2020-02-15 21:29:01
字體:
來源:轉載
供稿:網友

簡介

使用開源的Paramiko,我們就可以用Python代碼中通過SSH協議對遠程服務器執行操作,不需要手敲ssh命令,從而實現自動化運維。

ssh是一個協議,OpenSSH是其中一個開源實現,paramiko庫,實現了SSHv2協議(底層使用cryptography)。

項目文檔:點我跳轉
擴展:ssh協議,OpenSSH

上手

1、安裝

pip install paramiko

2、導入模塊

import paramiko

3、使用

def initSshClinet(): ''' 初始化,SSH連接賬號密碼登錄服務器 :return: sshClinet ''' ip = ""#服務器ip地址 sshClinet = paramiko.SSHClient() sshClinet.set_missing_host_key_policy(paramiko.AutoAddPolicy()) sshClinet.connect(ip, 22, userName, pw, timeout=360) return sshClinet
def exeCommond(commond): ''' 執行shell命令 ''' stdin, stdout, stderr = sshClient.exec_command(command) outStr = stdout.readlines() print("/n".join(outStr))
def sftpUploadFile(localPath, remotePath): #獲取SFTP實例 sftp = sshClinet.open_sftp() #執行上傳動作 sftp.put(localPath, remotePath)
def sftpDownloadFile(localPath, remotePath): #獲取SFTP實例 sftp = sshClinet.open_sftp() #執行下載動作 sftp.get(localPath, remotePath) 

末尾記得要關閉連接

sshClient.close()

也可以使用私鑰登錄:

# 配置私人密鑰文件位置private = paramiko.RSAKey.from_private_key_file('/Users/ch/.ssh/id_rsa')#實例化SSHClientclient = paramiko.SSHClient() #自動添加策略,保存服務器的主機名和密鑰信息,如果不添加,那么不再本地know_hosts文件中記錄的主機將無法連接client.set_missing_host_key_policy(paramiko.AutoAddPolicy()) #連接SSH服務端,以用戶名和密碼進行認證client.connect(hostname='10.0.0.1',port=22,username='root',pkey=private)

學習

paramiko包含兩個核心組件:SSHClient和SFTPClient。

SSHClient的作用類似于Linux的ssh命令,是對SSH會話的封裝,該類封裝了傳輸(Transport),通道(Channel)及SFTPClient建立的方法(open_sftp),通常用于執行遠程命令。 SFTPClient的作用類似與Linux的sftp命令,是對SFTP客戶端的封裝,用以實現遠程文件操作,如文件上傳、下載、修改文件權限等操作。

名詞 解釋
Channel 是一種類Socket,一種安全的SSH傳輸通道
Transport 是一種加密的會話,使用時會同步創建了一個加密的Tunnels(通道),這個Tunnels叫做Channel
Session 是client與Server保持連接的對象,用connect()/start_client()/start_server()開始會話
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 白城市| 凭祥市| 遵义县| 神木县| 东丰县| 镇远县| 濮阳市| 扶绥县| 江孜县| 东乡族自治县| 玉龙| 齐河县| 织金县| 武胜县| 马龙县| 永丰县| 沽源县| 共和县| 思南县| 南和县| 广汉市| 阿拉善左旗| 大余县| 英山县| 平凉市| 准格尔旗| 尖扎县| 乌苏市| 玉屏| 舟山市| 定南县| 北碚区| 新化县| 临颍县| 临西县| 共和县| 贡山| 淳化县| 贵州省| 屯门区| 凉城县|