python paramiko遠(yuǎn)程服務(wù)器終端操作過程解析
這篇文章主要介紹了python paramiko遠(yuǎn)程服務(wù)器終端操作過程解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
1.with open寫文件到本地
2.paramiko SFTPClient將文件推到salt服務(wù)端
3.paramiko SSHClient通過salt-cp將文件分發(fā)給目標(biāo)服務(wù)器
1.
with open(filePath, ‘w‘) as f: # filePath文件本地路徑,w write模式 f.write(content) return filePath
2.
import paramiko
# 1 連接客戶端
transport = paramiko.Transport((ssh_url, ssh_port))
transport.connect(username=ssh_user, password=ssh_pwd)
# 2 定義與客戶端交互 將剛剛定義的transport當(dāng)參數(shù)傳遞給他
sftp = paramiko.SFTPClient.from_transport(transport)
# sftp.put(r‘/Users/mnt/{}‘.format(script_name), ‘/mnt/{}‘.format(script_name))
sftp.put(本地路徑+ ‘{}‘.format(文件名), 目標(biāo)路徑+‘{}‘.format(文件名))
# 5 關(guān)閉連接
transport.close()
3.
# 實(shí)例化一個(gè)ssh ssh = paramiko.SSHClient() # 設(shè)置主機(jī)不在khost_key中也能連接 ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy()) # 創(chuàng)建連接 ssh.connect(hostname=ssh_url, port=ssh_port, username=ssh_user, password=ssh_pwd) # 執(zhí)行命令, salt-cp -L salt_minion_hostname local_url/filename target_url stdin, stdout, stderror = ssh.exec_command(‘salt-cp -L localhost.localdomain /mnt/‘ + script_name + ‘ /mnt‘) # 打印輸出 print(stdout.read()) # 關(guān)閉連接 ssh.close()
4.通過paramiko模塊控制遠(yuǎn)程服務(wù)器cmd終端,執(zhí)行g(shù)it命令
import paramiko # def parmiko_con(): # 實(shí)例化一個(gè)ssh ssh = paramiko.SSHClient() # 設(shè)置主機(jī)不在khost_key中也能連接 ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy()) # 創(chuàng)建連接 ssh.connect(hostname=ssh_url, port=ssh_port, username=ssh_user, password=ssh_pwd) # 執(zhí)行命令 # cmd = ‘cd /mnt/test_pro/opsmanage/ && git shortlog -2‘ # 查看最近兩次的提交版本,在cmd里執(zhí)行沒有問題,但在函數(shù)里運(yùn)行響應(yīng)不出來,git log命令需要按q退出 # cmd = ‘cd /mnt/test_pro/opsmanage/ && git rev-list master‘ # master分支提交記錄倒敘排列 cmd = ‘cd /mnt/test_pro/opsmanage/ && git log --since=1.weeks‘ # 查看近一周的提交,多條數(shù)據(jù)只有一個(gè)列表,需要進(jìn)行處理,需要請移步:https://www.cnblogs.com/lutt/p/12037454.html # cmd = ‘cd /mnt/test_pro/opsmanage/ && git rev-list --all -n 2‘ # 歷史版本reverse只去兩條記錄(只顯示commit id) # cmd = ‘cd /mnt/OpsManage/ && git branch -a‘ # 查看當(dāng)前所有分支, git branch 查看當(dāng)前分支 # cmd = ‘cd /mnt/test_pro/opsmanage/ && git tag -l‘ # 查看當(dāng)前所有tag stdin, stdout, stderror = ssh.exec_command(cmd) # 打印輸出 list2 = [] ret = stdout.read().decode(‘utf-8‘) list2 = ret.split(‘\n‘) print(list2) # 關(guān)閉連接 ssh.close() if __name__ == ‘__main__‘: parmiko_con() print(‘ok‘)
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- Python Paramiko實(shí)現(xiàn)SSHv2協(xié)議輕松管理遠(yuǎn)程服務(wù)器
- Python使用paramiko連接遠(yuǎn)程服務(wù)器執(zhí)行Shell命令的實(shí)現(xiàn)
- Python操作遠(yuǎn)程服務(wù)器 paramiko模塊詳細(xì)介紹
- python利用paramiko連接遠(yuǎn)程服務(wù)器執(zhí)行命令的方法
- Python使用Paramiko模塊編寫腳本進(jìn)行遠(yuǎn)程服務(wù)器操作
- Python基于paramiko庫操作遠(yuǎn)程服務(wù)器的實(shí)現(xiàn)
相關(guān)文章
詳解Python logging調(diào)用Logger.info方法的處理過程
這篇文章主要介紹了詳解Python logging調(diào)用Logger.info方法的處理過程,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2019-02-02
Python數(shù)據(jù)可視化之Seaborn的使用詳解
Seaborn庫是python中基于matplotlib庫的可視化工具庫,通過sns我們可以更方便地繪制出更美觀的圖表。本文將分享python基于Seaborn庫的一系列繪圖操作,感興趣的可以了解一下2022-04-04
Python opencv圖像基本操作學(xué)習(xí)之灰度圖轉(zhuǎn)換
使用opencv將圖片轉(zhuǎn)為灰度圖主要有兩種方法,第一種是將彩色圖轉(zhuǎn)為灰度圖,第二種是在使用OpenCV讀取圖片的時(shí)候直接讀取為灰度圖,今天通過實(shí)例代碼講解Python opencv圖像基本操作學(xué)習(xí)之灰度圖轉(zhuǎn)換,感興趣的朋友一起看看吧2023-02-02
python多線程并發(fā)實(shí)例及其優(yōu)化
這篇文章主要介紹了python多線程并發(fā)實(shí)例及其優(yōu)化,threading是擴(kuò)展模塊,在thread的基礎(chǔ)上進(jìn)行了封裝及改進(jìn)。所以只需要使用threading這個(gè)模塊就能完成并發(fā)的測試,需要的朋友可以參考下2019-06-06
Django 多語言教程的實(shí)現(xiàn)(i18n)
這篇文章主要介紹了Django 多語言教程的實(shí)現(xiàn)(i18n),小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2018-07-07
PyInstaller打包selenium-wire過程中常見問題和解決指南
常用的打包工具 PyInstaller 能將 Python 項(xiàng)目打包成單個(gè)可執(zhí)行文件,但也會因?yàn)榧嫒菪詥栴}和路徑管理而出現(xiàn)各種運(yùn)行錯(cuò)誤,本指南總結(jié)了打包過程中常見問題和解決方案,大家可以根據(jù)需要進(jìn)行選擇2025-04-04
Python基于plotly模塊實(shí)現(xiàn)的畫圖操作示例
這篇文章主要介紹了Python基于plotly模塊實(shí)現(xiàn)的畫圖操作,涉及Python基于plotly模塊的數(shù)值運(yùn)算與圖形操作相關(guān)實(shí)現(xiàn)技巧,需要的朋友可以參考下2019-01-01
python中如何實(shí)現(xiàn)將數(shù)據(jù)分成訓(xùn)練集與測試集的方法
這篇文章主要介紹了python中如何實(shí)現(xiàn)將數(shù)據(jù)分成訓(xùn)練集與測試集的方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-09-09

