日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

linux的python2.7的paramiko_Python使用paramiko操作linux的方法讲解

發布時間:2025/3/20 40 豆豆
生活随笔 收集整理的這篇文章主要介紹了 linux的python2.7的paramiko_Python使用paramiko操作linux的方法讲解 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

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 = 11022

username = "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'))

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

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端創建一個交互式的shell

command = ""

channel.send(command + '\n')

time.sleep(10)

stdout = channel.recv(1024*100000)

out_list = stdout.decode().split("\n")

client.close()

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對我們的支持。如果你想了解更多相關內容請查看下面相關鏈接

本文標題: Python使用paramiko操作linux的方法講解

本文地址: http://www.cppcns.com/os/linux/253164.html

總結

以上是生活随笔為你收集整理的linux的python2.7的paramiko_Python使用paramiko操作linux的方法讲解的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。