版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
項目3使用paramiko實現(xiàn)網(wǎng)絡(luò)設(shè)備自動化巡檢項目3使用paramiko實現(xiàn)網(wǎng)絡(luò)設(shè)備自動化巡檢3.1Paramiko模塊介紹3.2Paramiko模塊的類3.3任務(wù)實施3.1PythonParamiko模塊SSH是一個是一種用于在不安全網(wǎng)絡(luò)上進行安全遠程登錄和實現(xiàn)其他安全網(wǎng)絡(luò)服務(wù)的協(xié)議,OpenSSH是其中一個開源實現(xiàn)。Paramiko是Python實現(xiàn)SSHv2協(xié)議的模塊,它支持口令認(rèn)證和公鑰認(rèn)證兩種方式。可以實現(xiàn)安全的遠程命令執(zhí)行、文件傳輸?shù)裙δ堋aramiko可以使用SSHv2遠程連接到Linux服務(wù)器或網(wǎng)絡(luò)設(shè)備,查看上面的日志狀態(tài),批量配置遠程服務(wù)器或設(shè)備,文件上傳,文件下載等1Paramiko模塊-介紹3.1PythonParamiko模塊Paramiko模塊中有很多組件,可以歸納為:常用協(xié)議類和密鑰相關(guān)類。常用協(xié)議類主要有以下組件:最常用的兩個類為SSHClient類和SFTPClient類,分別提供SSH和SFTP功能。2Paramiko模塊–組件Channel類:該類用于創(chuàng)建在SSHTransport上的安全通道。Message類:SSHMessage是字節(jié)流。該類對字符串、整數(shù)等進行編碼。Packetizer類:數(shù)據(jù)包處理類。Transport類:該類用于在現(xiàn)有套接字或類套接字對象上創(chuàng)建一個Transport會話對象。SFTPClient類:該類通過一個打開的SSHTransport會話創(chuàng)建SFTP會話通道并執(zhí)行遠程文件操作。SSHClient類:該類是與SSH服務(wù)器會話的高級表示,集成了Transport,Channel和SFTPClient類。3.1PythonParamiko模塊密鑰相關(guān)類主要有以下組件:OpenSSH是SSH協(xié)議的免費開源實現(xiàn)。OpenSSH提供了服務(wù)端后臺程序和客戶端工具。所有的Linux操作系統(tǒng)均集成了OpenSSH。OpenSSH把用戶訪問過每個計算機的公鑰都記錄在~/.ssh/known_hosts。當(dāng)下次訪問相同計算機時,OpenSSH會核對公鑰。如果公鑰不同,OpenSSH會發(fā)出警告,避免用戶受到中間人攻擊等。3Paramiko模塊–組件SSHAgent類:該類用于SSH代理。Hostkeys類:該類與OpenSSHknown_hosts文件相關(guān),用于創(chuàng)建一個hostkeys對象。Keyhandling類:該類用于創(chuàng)建對應(yīng)密鑰類型的實例,如RSA密鑰,DSS(DSA)密鑰。3.1PythonParamiko模塊在Windows主機,打開Win10的命令行CMD,執(zhí)行:pipinstallparamiko命令。建議使用國內(nèi)pip源安裝。測試paramiko,可以看出paramiko的版本為2.7.24Paramiko模塊安裝C:\Users\Administrator>pipinstallparamiko-i/pypi/simple/--trusted-hostC:\Users\Administrator>pythonPython3.9.6(tags/v3.9.6:db3ff76,Jun282021,15:26:21)[MSCv.192964bit(AMD64)]onwin32Type"help","copyright","credits"or"license"formoreinformation.>>>>>>importparamiko>>>paramiko.__version__'2.7.2'>>>>>>exit()C:\Users\Administrator>項目3使用paramiko實現(xiàn)網(wǎng)絡(luò)設(shè)備自動化巡檢3.1Paramiko模塊介紹3.2Paramiko模塊的類3.3Paramiko案例3.2
Paramiko模塊的類SSHClient的作用類似于Linux的SSH命令,是對SSH會話的封裝,該類封裝了傳輸(Transport),通道(Channel)及SFTPClient類,通常用于執(zhí)行遠程命令。SSHClient常用方法如下:1SSHClient類及其方法connect():實現(xiàn)遠程服務(wù)器的連接與認(rèn)證,對于該方法只有hostname是必傳參數(shù)。常用參數(shù):Hostname:
連接的目標(biāo)主機;
port:SSH_PORT指定端口
username:驗證的用戶名;
password:驗證的用戶密碼
pkey:私鑰方式用于身份驗證;key_filename:一個文件名或文件列表,指定私鑰文件
timeout:可選的tcp連接超時時間;compress:是否打開壓縮
allow_agent:是否允許連接到ssh代理,默認(rèn)為True允許
look_for_keys:是否在~/.ssh中搜索私鑰文件,默認(rèn)為True允許3.2
Paramiko模塊的類2SSHClient類及其方法set_missing_host_key_policy():設(shè)置遠程服務(wù)器沒有在know_hosts文件中記錄時的應(yīng)對策略。load_system_host_keys():從系統(tǒng)文件加載主機密鑰,如果沒有參數(shù),那么就嘗試從用戶本地的“knownhosts”文件中讀取密鑰信息。目前支持三種策略:AutoAddPolicy:自動添加主機名及主機密鑰到本地HostKeys對象,不依賴load_system_host_key的配置。即新建立ssh連接時不需要再輸入yes或no進行確認(rèn)WarningPolicy用于記錄一個未知的主機密鑰的python警告。并接受,功能上和AutoAddPolicy類似,但是會提示是新連接RejectPolicy自動拒絕未知的主機名和密鑰,依賴load_system_host_key的配置。此為默認(rèn)選項3.2
Paramiko模塊的類3SSHClient類及其方法exec_command():在遠程服務(wù)器執(zhí)行Linux命令的方法。invoke_shell():基于SSH會話連接,啟動一個交互式shell會話。open_sftp():在當(dāng)前ssh會話的基礎(chǔ)上創(chuàng)建一個sftp會話。該方法會返回一個SFTPClient對象。利用SSHClient對象的open_sftp()方法,可以直接返回一個基于當(dāng)前連接的sftp對象,可以進行文件的上傳等操作。如
sftp=client.open_sftp()
sftp.put('test.txt','text.txt')3.2
Paramiko模塊的類SFTPCLient類作為一個sftp的客戶端對象,根據(jù)SSH傳輸協(xié)議的sftp會話,實現(xiàn)遠程文件操作,如上傳、下載、權(quán)限、狀態(tài)。常用的方法:4SFTPClient類及其方法from_transport():從開啟的Transport通道創(chuàng)建一個SFTP客戶端通道。常用到的參數(shù):
T:一個認(rèn)證過的開啟的Transport會話;window_size:可選參數(shù),SFTP會話窗口大小max_packet_size:可選參數(shù),SFTP會話最大數(shù)據(jù)包大小3.2
Paramiko模塊的類5SFTPClient類及其方法get():將遠程文件(remotepath)從SFTP服務(wù)器復(fù)制到本地主機的指定路徑中(localpath),操作引發(fā)的任何異常都將被傳遞。put():將本地文件(localpath)從本地主機復(fù)制到SFTP服務(wù)器的指定路徑中(remotepath),操作引發(fā)的任何異常都將被傳遞。mkdir()在服務(wù)器上創(chuàng)建目錄remove()在服務(wù)器上刪除目錄rename()在服務(wù)器上重命名目錄stat()查看服務(wù)器文件狀態(tài)listdir()列出服務(wù)器目錄下的文件3.2
Paramiko模塊的類Keyhandling類用于創(chuàng)建對應(yīng)密鑰類型的實例,如RSA密鑰,DSS(DSA)密鑰。這個類包含了密鑰的讀取,寫入等相關(guān)方法。常用方法:6Keyhandling類及其方法RSAKey.from_private_key_file(filename):從文件讀取RSA私鑰來創(chuàng)建密鑰對象DSSKey.from_private_key_file(filename):從文件讀取DSS私鑰來創(chuàng)建密鑰對象項目3使用paramiko實現(xiàn)網(wǎng)絡(luò)設(shè)備自動化巡檢3.1Paramiko模塊介紹3.2Paramiko模塊的類3.3Paramiko任務(wù)實施3.3使用Paramiko登錄設(shè)備公司A的網(wǎng)絡(luò)已經(jīng)在正常運行?,F(xiàn)在考慮對運行中的網(wǎng)絡(luò)設(shè)備進行日常巡檢,除了日常的設(shè)備環(huán)境檢查外,還要檢查設(shè)備基本信息和設(shè)備運行狀態(tài)等。本任務(wù)將收集網(wǎng)絡(luò)設(shè)備的版本信息、補丁信息、時鐘信息、板卡運行狀態(tài)、CPU使用率和內(nèi)存使用率以
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 中國汽研2026屆春招備考題庫有答案詳解
- 2026重慶飛駛特人力資源管理有限公司外派至某國企物業(yè)項目文員招聘1人備考題庫(含答案詳解)
- 酒店客房鑰匙卡權(quán)限管理制度
- 2025福建省足球運動管理中心專職青訓(xùn)總監(jiān)(編外合同制)招聘1人備考題庫附答案詳解
- 2025重慶市銅梁區(qū)市場監(jiān)督管理局食品藥品監(jiān)管公益性崗位招聘5人備考題庫及1套完整答案詳解
- 2025湖北武漢市漢口學(xué)院保安招聘1人備考題庫有答案詳解
- 2025云南保山九隆街道辦事處招聘公益性崗位工作人員3人備考題庫及1套參考答案詳解
- 2025海南儋州市教育局赴高校(考核)招聘中學(xué)教師40人備考題庫(一)及完整答案詳解一套
- 2025甘肅張掖山丹縣招聘城鎮(zhèn)公益性崗位人員備考題庫及完整答案詳解1套
- 校園網(wǎng)絡(luò)布局方案
- 廣東省廣州市2025-2026學(xué)年九年級化學(xué)上學(xué)期期末模擬卷(含答案)
- 湖北省十堰市第二中學(xué)高中生物必修一人教版導(dǎo)能量之源光光合作用教案
- 生物實驗室安全管理手冊
- 網(wǎng)絡(luò)安全與輿情培訓(xùn)簡報課件
- 集團有限公司安全生產(chǎn)責(zé)任清單(全員)
- 供應(yīng)商現(xiàn)場審核打分表-評分細(xì)則
- 預(yù)防葡萄膜炎復(fù)發(fā)護理策略
- 2025年初級經(jīng)濟師考試卷附答案
- 重慶市(康德卷)2025-2026學(xué)年高三上學(xué)期高考模擬調(diào)研(二)(12月)數(shù)學(xué)試題+答案
- 車輛保證過戶協(xié)議書
- 2026年勞動合同示范文本
評論
0/150
提交評論