Python Paramiko實現(xiàn)SSHv2協(xié)議輕松管理遠程服務器
前言
Python的Paramiko庫,它是一個用于實現(xiàn)SSHv2協(xié)議的客戶端和服務器的庫。通過使用Paramiko,我們可以在Python程序中輕松地實現(xiàn)遠程服務器的管理、文件傳輸?shù)裙δ?。特別做智能硬件產(chǎn)品的同學要熟悉它,因為它能為你減少很多麻煩,在我以前的工作中,對智能硬件做各種測試就是通過Paramiko連接設備下發(fā)各種命令
一.安裝
pip install paramiko
二.基本用法
1.創(chuàng)建一個ssh連接客戶端
import paramiko ssh = paramiko.SSHClient() ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
2.添加服務器的SSH密鑰(可選)
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
3.connect()創(chuàng)建連接,連接遠程服務,各種智能硬件,服務器等
hostname = '192.168.31.230' port = 22 username = 'kali' password = 'kali' ssh.connect(hostname, port, username, password)
4.執(zhí)行遠程命令
stdin, stdout, stderr = ssh.exec_command('ls') print(stdout.read().decode()) # 打印輸出結果 print(stderrh.read().decode())# 輸出錯誤信息 # 返回結果 Desktop Documents Downloads Music Pictures Public Templates Videos
5.文件下載
local_file = 'D:/code/ssh/local_file.txt' # 本地文件路徑和名稱 remote_file = '/home/kali/remote_file.txt' # 遠程文件路徑和名稱 sftp = ssh.open_sftp() # 打開SFTP會話 sftp.get(remote_file, local_file) # 從遠程服務器下載文件到本地 sftp.close() # 關閉SFTP會話
6.文件上傳
local_file = 'D:/code/ssh/local_file2.txt' # 本地文件路徑和名稱 remote_file = '/home/kali/remote_file2.txt' # 遠程文件路徑和名稱 sftp = ssh.open_sftp() # 打開SFTP會話 sftp.put(local_file, remote_file) # 上傳本地文件到遠程服務器 sftp.close() # 關閉SFTP會話
7.關閉連接
ssh.close() #關閉連接
三.完整代碼如下
import paramiko ssh = paramiko.SSHClient() # 創(chuàng)建客服端 ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy()) # 添加秘鑰 hostname = '192.168.31.230' port = 22 username = 'kali' password = 'kali' ssh.connect(hostname, port, username, password) # 創(chuàng)建連接 stdin, stdout, stderr = ssh.exec_command('ls') # 執(zhí)行l(wèi)s print(stdout.read().decode()) # 下載 local_file = 'D:/code/ssh/local_file.txt' # 本地文件路徑和名稱 remote_file = '/home/kali/remote_file.txt' # 遠程文件路徑和名稱 sftp = ssh.open_sftp() # 打開SFTP會話 sftp.get(remote_file, local_file) # 從遠程服務器下載文件到本地 # 上傳 local_file2 = 'D:/code/ssh/local_file2.txt' # 本地文件路徑和名稱 remote_file2 = '/home/kali/remote_file2.txt' # 遠程文件路徑和名稱 sftp = ssh.open_sftp() # 打開SFTP會話 sftp.put(local_file2, remote_file2) # 上傳本地文件到遠程服務器 sftp.close() # 關閉SFTP會話 ssh.close() # 關閉連接
以上就是Python Paramiko實現(xiàn)SSHv2協(xié)議輕松管理遠程服務器的詳細內(nèi)容,更多關于Python Paramiko SSHv2協(xié)議的資料請關注腳本之家其它相關文章!
相關文章
Python?數(shù)據(jù)篩選功能實現(xiàn)
這篇文章主要介紹了Python?數(shù)據(jù)篩選,無論是在數(shù)據(jù)分析還是數(shù)據(jù)挖掘的時候,數(shù)據(jù)篩選總會涉及到,這里我總結了一下python中列表,字典,數(shù)據(jù)框中一些常用的數(shù)據(jù)篩選的方法,需要的朋友可以參考下2023-04-04合并Excel工作薄中成績表的VBA代碼,非常適合教育一線的朋友
每次學生考試,評分完畢之后,把每個科的成績收集起來,就得到了一個有若干工作表,每個表有學生學號、分數(shù)等列的Excel工作薄。2009-04-04Python實現(xiàn)將PDF文件拆分任意頁數(shù)
PyMuPDF,簡稱fitz,是一個輕量級的Python庫,它簡化和封裝了PyMuPDF的功能,使得在Python中處理PDF文件更加簡單,下面我們來看看如何使用他將PDF拆分任意頁數(shù)2025-02-02