摘要:是一個(gè)用于做遠(yuǎn)程控制的模塊,使用該模塊可以對遠(yuǎn)程服務(wù)器進(jìn)行命令或文件操作,值得一說的是,和內(nèi)部的遠(yuǎn)程管理就是使用的來現(xiàn)實(shí)。
paramiko
paramiko是一個(gè)用于做遠(yuǎn)程控制的模塊,使用該模塊可以對遠(yuǎn)程服務(wù)器進(jìn)行命令或文件操作,值得一說的是,fabric和ansible內(nèi)部的遠(yuǎn)程管理就是使用的paramiko來現(xiàn)實(shí)。
1、下載安裝pycrypto,由于 paramiko 模塊內(nèi)部依賴pycrypto,所以先下載安裝pycrypto
yum -y install python-devel pip3 install pycrypto pip3 install paramiko2、模塊使用 執(zhí)行命令 - 用戶名+密碼
import paramiko ssh = paramiko.SSHClient() ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy()) ssh.connect("172.16.0.10", 22, "root", "123456") stdin, stdout, stderr = ssh.exec_command("df -hT") print(stdout.read().decode("utf-8")) # 以utf-8編碼對結(jié)果進(jìn)行解碼 ssh.close()上傳或下載文件 - 用戶名+密碼
# 上傳文件 import os import sys import paramiko t = paramiko.Transport(("172.16.0.19", 22)) t.connect(username="root", password="123456") sftp = paramiko.SFTPClient.from_transport(t) sftp.put("log.log", "/tmp/log.log") t.close() # 下載文件 import os,sys import paramiko t = paramiko.Transport(("172.16.0.19",22)) t.connect(username="root", password="123456") sftp = paramiko.SFTPClient.from_transport(t) sftp.get("/tmp/log.log", "log2.log") t.close()執(zhí)行命令 - 密匙
import paramiko private_key_path = "/root/.ssh/id_rsa" key = paramiko.RSAKey.from_private_key_file(private_key_path) ssh = paramiko.SSHClient() ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy()) ssh.connect("172.16.0.19", 22, "root", key) stdin, stdout, stderr = ssh.exec_command("df -hT") print(stdout.read()) ssh.close()上傳或下載文件 - 密匙
# 上傳文件 import paramiko pravie_key_path = "/root/.ssh/id_rsa" key = paramiko.RSAKey.from_private_key_file(pravie_key_path) t = paramiko.Transport(("172.16.0.19", 22)) t.connect(username="root", pkey=key) sftp = paramiko.SFTPClient.from_transport(t) sftp.put("log.log","/tmp/log.log") t.close() # 下載文件 import paramiko pravie_key_path = "/root/.ssh/id_rsa" key = paramiko.RSAKey.from_private_key_file(pravie_key_path) t = paramiko.Transport(("172.16.0.19", 22)) t.connect(username="root", pkey=key) sftp = paramiko.SFTPClient.from_transport(t) sftp.get("/tmp/log.log", "log3.log") t.close()
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://www.ezyhdfw.cn/yun/41634.html
摘要:子程序執(zhí)行將在新進(jìn)程中完成。要在上執(zhí)行子程序,該類將使用該函數(shù)。如果是字符串,則字符串指定要通過執(zhí)行的命令。如果是任何其他負(fù)值,則表示完全緩沖。它用于通過網(wǎng)絡(luò)進(jìn)行系統(tǒng)管理和應(yīng)用程序部署。 showImg(https://segmentfault.com/img/remote/1460000018833620); 來源 | 愿碼(ChainDesk.CN)內(nèi)容編輯 愿碼Slogan |...
摘要:模塊為的縮寫,由的網(wǎng)絡(luò)小組所制定為建立在應(yīng)用層基礎(chǔ)上的安全協(xié)議。是目前較可靠,專為遠(yuǎn)程登錄會(huì)話和其他網(wǎng)絡(luò)服務(wù)提供安全性的協(xié)議。利用該模塊,可以方便的進(jìn)行連接和協(xié)議進(jìn)行文件傳輸。 paramiko模塊 SSH 為 Secure Shell 的縮寫,由 IETF 的網(wǎng)絡(luò)小組(Network Working Group)所制定;SSH 為建立在應(yīng)用層基礎(chǔ)上的安全協(xié)議。SSH 是目前較可靠,專...
為什么要用Python腳本下載以及基本介紹 經(jīng)常會(huì)有人需要從遠(yuǎn)程服務(wù)器下載一些文件資源,下載個(gè)別小文件可以直接用sz等命令,但是,需要下載一個(gè)文件夾呢?sz就不行了,這時(shí)候當(dāng)然可以先壓縮文件夾,然后下載,這樣也是可以的,只要文件不是很大,那么,有沒有其他辦法下載文件夾呢?辦法當(dāng)然是有的,就是寫Python腳本,然后通過paramiko模塊就可以從遠(yuǎn)程傳輸下載文件夾到本地了,是不是很方便呢…… pa...
摘要:是基于實(shí)現(xiàn)的遠(yuǎn)程安全連接,支持認(rèn)證及密鑰方法。利用函數(shù)發(fā)送到,通過函數(shù)獲取回顯。如下全局屬性設(shè)定對象的作用是定義的全局設(shè)定,支持多個(gè)屬性及自定義屬性。相比確實(shí)簡化了不少。出現(xiàn)異常時(shí),發(fā)出警告,繼續(xù)執(zhí)行,不要終止。 paramiko paramiko是基于Python實(shí)現(xiàn)的SSH2遠(yuǎn)程安全連接,支持認(rèn)證及密鑰方法??梢詫?shí)現(xiàn)遠(yuǎn)程命令執(zhí)行,文件傳輸,中間SSH代理等功能,相對于Pexpect...
摘要:前言為什么有調(diào)用腳本呢直接不就行了嗎這里主要是用于遠(yuǎn)程調(diào)用時(shí)這種調(diào)用在運(yùn)維場景中是比較多的,類似下面這樣的調(diào)用遠(yuǎn)程調(diào)用這里有個(gè)問題就是傳遞較多參數(shù)時(shí)如何傳遞比如傳遞字典傳遞列表等我們可以發(fā)現(xiàn),如果直接傳遞,往往傳過去后不能很好的解析因?yàn)檫@ 前言: 為什么有python調(diào)用python腳本呢?直接import不就行了嗎?這里主要是用于遠(yuǎn)程調(diào)用時(shí),這種調(diào)用在運(yùn)維場景中是比較多的,類似下面這...
閱讀 2748·2021-11-24 09:38
閱讀 2026·2019-08-30 15:53
閱讀 1368·2019-08-30 15:44
閱讀 3277·2019-08-30 14:10
閱讀 3657·2019-08-29 16:29
閱讀 1847·2019-08-29 16:23
閱讀 1155·2019-08-29 16:20
閱讀 1533·2019-08-29 11:13