成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

再見Xshell、Xftp!Python執行Linux命令、上傳下載遠程文件

系統 Linux
相信大家應該都接觸過Linux操作系統(Ubuntu、Centos等),那么在使用的Linux操作系統需要使用一些遠程ssh工具,尤其是公網服務器。

 [[403719]]

大家好,我是辰哥

相信大家應該都接觸過Linux操作系統(Ubuntu、Centos等),那么在使用的Linux操作系統需要使用一些遠程ssh工具,尤其是公網服務器。

常用的ssh工具主要有:Xshell、MobaXterm、Termius等

上傳文件到遠程Linux服務器:Xftp、Filezilla 等

這些工具有免費,有收費的。并且價格小貴。今天辰哥就來教大家如何用Python連接遠程Linux服務器,實現執行命令和上傳文件。這里用到的Python庫是Paramiko

核心知識點(亮點):

1、Python連接遠程Linux服務器

2、執行命令并返回結果

3、上傳文件到遠程Linux服務器

4、從遠程Linux下載文件

01Paramiko庫

1.安裝paramiko庫

在開始編寫代碼之前先安裝一下Python連接Linux服務器的庫,安裝命令如下:

  1. #1、安裝依賴包 
  2. pip install ecdsa 
  3. pip install Crypto 
  4. pip install Twisted 
  5. #2、安裝paramiko 
  6. pip install paramiko 

提示:先安裝三個依賴庫,再安裝Paramiko,直接安裝Paramiko會報錯。

2.paramiko核心組件

SSH組件:SSHClient,作用類似于Linux的ssh命令,用于執行遠程命令。

SFTP組件:SFTPClient,作用類似于Linux的sftp命令,用于文件上傳、下載、修改文件權限等。

02SSHClient

1、SSHClient常用方法介紹

這里辰哥以自己的遠程服務器為例給大家演示,首先先連接服務器

  1. import paramiko 
  2. # ip、用戶名、密碼 
  3. ip = "遠程Linux的IP地址" 
  4. port = 22 
  5. user = "root" 
  6. password = "密碼" 
  7.  
  8. # 創建SSHClient 實例對象 
  9. ssh = paramiko.SSHClient() 
  10. # 調用方法,表示沒有存儲遠程機器的公鑰,允許訪問 
  11. ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy()) 
  12. # 連接遠程機器,地址,端口,用戶名密碼 
  13. ssh.connect(ip, port, userpassword, timeout=10) 

執行linux命令,如:ls

  1. # 輸入linux命令 
  2. command1 = "ls" 
  3. ssh.exec_command(command1) 
  4. # stdout 為正確輸出,stderr為錯誤輸出 
  5. stdin, stdout, stderr = ssh.exec_command(command2) 
  6. # 輸出命令執行結果 
  7. result = stdout.read() 
  8. print(result) 

xshell返回結果:

Python執行代碼結果:

2、執行多條Linux命令

上面的案例只是執行一條Linux命令,在實際應用中往往需要執行2條或者2條以上的Linux,下面演示如何執行多條命令

錯誤的方式:

  1. # 輸入linux命令 
  2. command1 = "cd /www/wwwroot" 
  3. command2 = "ls" 
  4. ssh.exec_command(command1) 
  5. stdin, stdout, stderr = ssh.exec_command(command2) 
  6. # 輸出命令執行結果 
  7. result = stdout.read() 
  8. print(result) 

上面的命令是先執行:cd /www/wwwroot ,進入到wwwroot,再查看里面的文件夾,下面是xshell里面執行的結果。

Python代碼執行的結果:

可以看到結果和之前的一樣,所以這種方式是錯誤(辰哥一開始也是這樣干的,這里就給大家提個醒)

正確的方式:

  1. # 輸入linux命令 
  2. command = "cd /www/wwwroot ;ls" 
  3. stdin, stdout, stderr = ssh.exec_command(command) 
  4. # 輸出命令執行結果 
  5. result = stdout.read() 
  6. ## bytes 轉 str 
  7. result = str(result) 
  8. result = result.split('\\n'
  9. for i in result: 
  10.      print(i) 

直接在用;把多條命令隔開即可,轉為str后,通過\\n去分割結果,按行輸出

03SFTPClient

1、SFTPClient常用方法介紹

2、上傳文件到Linux

這里先在本地新建一個文本文件:辰哥.txt ,并在里面輸入了一些內容

連接Linux服務器

  1. # 獲取Transport實例 
  2. tran = paramiko.Transport(('遠程Linux的ip', 22)) 
  3. # 連接SSH服務端,使用password 
  4. tran.connect(username="用戶名"password='密碼'
  5. # 獲取SFTP實例 
  6. sftp = paramiko.SFTPClient.from_transport(tran) 

上傳文件

  1. # 設置上傳的本地/遠程文件路徑 
  2. localpath = "D:/公眾號/0603/辰哥.txt" 
  3. remotepath = "/www/wwwroot//辰哥.txt" 
  4.  
  5. # 執行上傳動作 
  6. sftp.put(localpath, remotepath) 
  7. # 關閉連接 
  8. tran.close() 

效果如下:

3、從Linux服務器下載文件

辰哥在Linux服務器新建了一個文本文件:Python研究者.txt ,并寫入內容

下載文件

  1. localpath2 = "D:/公眾號/0603/Python研究者.txt" 
  2. remotepath2 = "/www/wwwroot/Python研究者.txt" 
  3. # 執行下載動作 
  4. sftp.get(remotepath2, localpath2) 
  5. # 關閉連接 
  6. tran.close() 

效果:

04小結

本文講解了Paramiko庫,并講解ssh和sftp兩大組件,設計的核心知識點(亮點):

1、Python連接遠程Linux服務器

2、執行命令并返回結果

3、上傳文件到遠程Linux服務器

4、從遠程Linux下載文件

本文轉載自微信公眾號「Python研究者」,可以通過以下二維碼關注。轉載本文請聯系Python研究者公眾號。

 

責任編輯:武曉燕 來源: Python研究者
相關推薦

2009-07-07 13:45:04

jspsmart

2018-04-20 16:15:42

Koa2上傳下載

2009-07-03 14:15:54

JSP SmartUp

2015-02-11 16:34:49

微信SDK

2009-07-30 13:43:58

ASP.NET中文件上

2010-03-08 11:34:45

Linux上傳下載指令

2009-09-01 16:49:56

C#文件上傳下載

2023-09-06 08:33:30

2009-07-02 13:31:13

JSP組件

2009-10-23 10:45:33

linux系統文件下載

2011-02-21 18:11:27

vsFTPd

2021-01-28 17:46:13

服務器遠程Xshell

2023-05-07 07:45:31

2009-08-11 08:58:19

linux命令瀏覽網頁linux命令行參數linux命令行

2013-09-04 10:20:31

遠程控制軟

2023-01-13 09:37:23

2010-01-14 15:06:27

CentOS用戶

2024-06-20 12:55:23

2013-09-02 17:39:29

2018-06-21 10:13:57

5GVR娛樂體驗城市物聯
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 天天插天天操 | 在线国产视频观看 | 色在线免费视频 | 在线午夜| 国产成人精品久久二区二区91 | 国产在线中文字幕 | 91精品午夜窝窝看片 | 欧美黑人国产人伦爽爽爽 | 在线观看免费福利 | 麻豆av在线免费观看 | 午夜小视频在线播放 | 最新黄色在线观看 | 亚洲福利片 | 久久一二 | av一区在线观看 | 国产情品 | 国产激情毛片 | 亚洲午夜视频在线观看 | 综合久久一区 | 欧美一级欧美三级在线观看 | 国产精品一区二区在线 | 国产成人免费 | 亚洲一区二区网站 | 视频一区二区在线观看 | 精品国产成人 | 国产精品免费在线 | 欧美在线a | 成人精品鲁一区一区二区 | 成人特级毛片 | 免费的色网站 | 免费一区二区 | 国产黄色网址在线观看 | 国产精品一区二区日韩 | 91精品国产综合久久精品 | 久久com | 欧美国产精品 | 日韩一区二区三区视频 | 2022国产精品| 三级在线观看 | 麻豆视频国产在线观看 | 久久亚洲国产精品 |