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

首頁 > 編程 > Python > 正文

Python使用paramiko操作linux的方法講解

2020-02-16 01:20:56
字體:
來源:轉載
供稿:網友

paramiko介紹

paramiko是一個基于python編寫的、使用ssh協議的模塊,跟xshell和xftp功能類似,支持加密與認證,可以上傳下載和訪問服務器的文件。

可以利用paramiko模塊寫服務器腳本,在本地執行,比如持續更新代碼,查看日志,批量配置集群等。

paramiko 主要包含SSHClient和SFTPClient兩個組件:

SSHClient

ssh服務會話的表示,通常用來執行命令,主要有connect、exec_command、load_system_host_keys和set_missing_host_key_policy方法。

connect:建立SSH遠程連接并校驗。 exec_command:執行指令并返回結果。 load_system_host_keys:加載本地公鑰校驗文件。 set_missing_host_key_policy:遠程主機沒有本地主機密鑰或HostKeys時的策略。

SFTPClient

SFTP客戶端對象,實現遠程文件操作,主要有from_transport、put、get、Mkdir、remove、rename、stat、listdir等方法。

from_transport:從已通過驗證的傳輸對象簡歷連接。 put:上傳本地文件到服務器上。 get:從服務器下載文件到本地。 Mkdir、remove、rename、stat、listdir:創建目錄、刪除目錄、重命名文件或目錄、獲取文件信息、獲取指定目錄中的列表。

安裝與使用

安裝

pip install paramiko

執行linux命令

import paramiko#服務器信息,主機名(IP地址)、端口號、用戶名及密碼hostname = "xxx.xxx.xx.170"port = 11022username = "rdadmin"password = "818"#創建SSH對象 client = paramiko.SSHClient()#自動添加策略,保存服務器的主機名和密鑰信息client.set_missing_host_key_policy(paramiko.AutoAddPolicy())#連接服務器client.connect(hostname, port, username, password, compress=True)# 執行linux命令stdin, stdout, stderr = client.exec_command('ls /')for line in stdout:  print('... ' + line.strip('/n')) #orprint(stdout.readlines())

訪問linux上的文件

import paramikohostname = "192.168.0.1"port = 22username = "root"password = "root"client = paramiko.SSHClient()client.set_missing_host_key_policy(paramiko.AutoAddPolicy())client.connect(hostname, port, username, password, compress=True)sftp_client = client.open_sftp()remote_file = sftp_client.open("/home/verified_list.txt") #文件路徑try:  for line in remote_file:    print(line.strip())finally:  remote_file.close()

上傳到linux與從linux下載文件

import paramikohostname = 192.168.0.1port = 22username = "root"password = "root"transport = paramiko.Transport((hostname, port))transport.connect(username = username, password = password)sftp = paramiko.SFTPClient.from_transport(transport)# 下載文件sftp.get("/home/share/video.mp4","./視頻文件下載/")#上傳文件sftp.put("./video.mp4","/home/share/video.mp4")sftp.close()

與linux的交互操作

通過SSHClient的invoke_shell方法,可以創建一個交互會話的對象,和exec_command方法不同的是,這個可以實現命令交互,比如先cd到某個目錄下,再執行腳本操作,然后退出,這種需要多個步驟的操作。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 炉霍县| 广元市| 南宫市| 搜索| 张家口市| 磐安县| 同江市| 同心县| 雅安市| 城固县| 永济市| 阿城市| 宣威市| 五峰| 蓬莱市| 唐海县| 阿拉善右旗| 卢湾区| 广元市| 陇川县| 铜川市| 安阳县| 丰县| 温宿县| 缙云县| 台江县| 长垣县| 华阴市| 水富县| 祁门县| 晋江市| 黔西| 丰台区| 宝丰县| 芜湖市| 旬阳县| 周宁县| 吉隆县| 十堰市| 武穴市| 临武县|