最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

 更新時間:2019年02月25日 09:00:40   作者:Lee_Tech  
今天小編就為大家分享一篇關(guān)于Python使用paramiko操作linux的方法講解,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧

paramiko介紹

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

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

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

SSHClient

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

  • connect:建立SSH遠(yuǎn)程連接并校驗。
  • exec_command:執(zhí)行指令并返回結(jié)果。
  • load_system_host_keys:加載本地公鑰校驗文件。
  • set_missing_host_key_policy:遠(yuǎn)程主機(jī)沒有本地主機(jī)密鑰或HostKeys時的策略。

SFTPClient

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

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

安裝與使用

安裝

pip install paramiko

執(zhí)行l(wèi)inux命令

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

訪問linux上的文件

import paramiko
hostname = "192.168.0.1"
port = 22
username = "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 paramiko
hostname = 192.168.0.1
port = 22
username = "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方法,可以創(chuàng)建一個交互會話的對象,和exec_command方法不同的是,這個可以實現(xiàn)命令交互,比如先cd到某個目錄下,再執(zhí)行腳本操作,然后退出,這種需要多個步驟的操作。

import paramiko
hostname = "192.168.0.1"
port = 22
username = "root"
password = "root"
client = paramiko.SSHClient()
client.set_missing_host_key_policy(paramiko.AutoAddPolicy())
client.connect(hostname, port, username, password, compress=True)
channel = client.invoke_shell() # 在SSH server端創(chuàng)建一個交互式的shell
command = ""
channel.send(command + '\n')
time.sleep(10)
stdout = channel.recv(1024*100000)
out_list = stdout.decode().split("\n")
client.close()

總結(jié)

以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,謝謝大家對腳本之家的支持。如果你想了解更多相關(guān)內(nèi)容請查看下面相關(guān)鏈接

相關(guān)文章

  • 將Django框架和遺留的Web應(yīng)用集成的方法

    將Django框架和遺留的Web應(yīng)用集成的方法

    這篇文章主要介紹了將Django框架和遺留的Web應(yīng)用集成的方法,Django是Python百花齊放的web開發(fā)框架中人氣最高的一個,需要的朋友可以參考下
    2015-07-07
  • 詳解Python是如何實現(xiàn)issubclass的

    詳解Python是如何實現(xiàn)issubclass的

    這篇文章主要介紹了詳解Python是如何實現(xiàn)issubclass的,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-07-07
  • python開發(fā)實例之python使用Websocket庫開發(fā)簡單聊天工具實例詳解(python+Websocket+JS)

    python開發(fā)實例之python使用Websocket庫開發(fā)簡單聊天工具實例詳解(python+Websocket+J

    這篇文章主要介紹了python開發(fā)實例之python使用Websocket庫開發(fā)簡單聊天工具實例詳解(python+Websocket+JS),需要的朋友可以參考下
    2020-03-03
  • python提取圖像的名字*.jpg到txt文本的方法

    python提取圖像的名字*.jpg到txt文本的方法

    下面小編就為大家分享一篇python提取圖像的名字*.jpg到txt文本的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-05-05
  • 基于循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)的古詩生成器

    基于循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)的古詩生成器

    這篇文章主要為大家詳細(xì)介紹了基于循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)的古詩生成器,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-03-03
  • Python使用ElementTree美化XML格式的操作

    Python使用ElementTree美化XML格式的操作

    這篇文章主要介紹了Python使用ElementTree美化XML格式的操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-03-03
  • python 遍歷可迭代對象的實現(xiàn)方法

    python 遍歷可迭代對象的實現(xiàn)方法

    本文主要介紹了python 遍歷可迭代對象的實現(xiàn)方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-02-02
  • Python熱重載調(diào)試新利器問題解決

    Python熱重載調(diào)試新利器問題解決

    Reloading是一個Python工具庫,它讓我們可以在每次迭代之前從源代碼中重新加載(或函數(shù))而不丟失任何當(dāng)前已執(zhí)行過程,這篇文章主要介紹了Python熱重載調(diào)試新利器,需要的朋友可以參考下
    2024-06-06
  • python與js進(jìn)行MD5取hash有什么不同

    python與js進(jìn)行MD5取hash有什么不同

    這篇文章主要講解得內(nèi)容是python與js進(jìn)行MD5取hash有什么不同,我們在做前端做滲透測試時會遇到一些關(guān)鍵字進(jìn)行了加密得情況,而且python和js對json進(jìn)行md5取hash,MD5結(jié)果值還不一致,下面我們就爛看看到底是哪里不同吧,需要的朋友可以參考一下
    2022-02-02
  • Python+OpenCV實現(xiàn)信用卡數(shù)字識別的方法詳解

    Python+OpenCV實現(xiàn)信用卡數(shù)字識別的方法詳解

    這篇文章主要介紹了如何利用python?opencv實現(xiàn)信用卡數(shù)字識別,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-09-09

最新評論

开远市| 辽阳市| 望江县| 如东县| 桐梓县| 辽阳市| 平顶山市| 游戏| 湟源县| 三明市| 韩城市| 徐汇区| 泊头市| 昂仁县| 十堰市| 和政县| 建湖县| 朔州市| 丰县| 石棉县| 宾川县| 庆云县| 惠安县| 眉山市| 湘阴县| 白银市| 灵丘县| 广州市| 远安县| 长葛市| 陆河县| 松原市| 安阳市| 红安县| 巫溪县| 揭阳市| 福海县| 嘉荫县| 沁源县| 昌黎县| 偃师市|