中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當(dāng)前位置: 首頁 > news >正文

關(guān)于配色的網(wǎng)站千鋒教育靠譜嗎

關(guān)于配色的網(wǎng)站,千鋒教育靠譜嗎,團(tuán)隊(duì)建設(shè) 深度好文分享的網(wǎng)站,視頻推廣軟件排名帝搜軟件文章目錄 目錄 文章目錄 前言 實(shí)驗(yàn)環(huán)境準(zhǔn)備 一.input函數(shù) 代碼分段解析 二.getpass模塊 前言 在前面的SSH模塊章節(jié)中,我們都是將提供SSH服務(wù)的設(shè)備的賬戶/密碼直接寫入到python代碼中,這樣很容易導(dǎo)致賬戶/密碼泄露,而使用Python中的用戶交…

文章目錄

  • 目錄

    文章目錄

    前言

    實(shí)驗(yàn)環(huán)境準(zhǔn)備

    一.input函數(shù)

    ?代碼分段解析

    二.getpass模塊?


前言

????????在前面的SSH模塊章節(jié)中,我們都是將提供SSH服務(wù)的設(shè)備的賬戶/密碼直接寫入到python代碼中,這樣很容易導(dǎo)致賬戶/密碼泄露,而使用Python中的用戶交互模塊,如input函數(shù)和getpass函數(shù)等,讓用戶自行輸入賬戶/密碼,則可以有效避免信息泄露。


實(shí)驗(yàn)環(huán)境準(zhǔn)備

基礎(chǔ)配置:

  • 路由器各接口配置IP
  • 交換機(jī)創(chuàng)建對應(yīng)VLAN和vlanif接口,vlanif接口配置IP
  • 兩臺(tái)交換機(jī)開啟SSH服務(wù),并在本地電腦使用遠(yuǎn)程工具(如:Xshell)成功連接。

實(shí)驗(yàn)?zāi)康?#xff1a;

  • 配置getpass模塊和input函數(shù)實(shí)現(xiàn)交互式的SSH用戶名和密碼輸入
  • 配置for循環(huán)同時(shí)給兩臺(tái)交換機(jī)配置vlan 100~vlan 103

一.input函數(shù)

? ?在 Python 中,input?函數(shù)是一個(gè)內(nèi)置函數(shù),主要用于從標(biāo)準(zhǔn)輸入(通常是鍵盤)讀取用戶輸入的信息,input?函數(shù)的默認(rèn)行為是將用戶輸入的任何內(nèi)容都作為字符串類型返回給Python程序。

實(shí)驗(yàn)代碼

import paramiko
import timefor ip in ["192.168.10.1","192.168.9.2"]:username = input("請輸入用戶名:")password = input("請輸入密碼:")ssh_client = paramiko.SSHClient()ssh_client.set_missing_host_key_policy(paramiko.AutoAddPolicy())ssh_client.connect(hostname=ip,username=username,password=password)print(f"Successfully to connect {ip}")commend = ssh_client.invoke_shell()commend.send("sys\n")for vlan_id in range(100,104):print(f"正在創(chuàng)建vlan {vlan_id}")commend.send(f"vlan {vlan_id}\n")time.sleep(2)output = commend.recv(65535).decode("ascii")print("命令行界面配置過程:")print(output)time.sleep(2)
ssh_client.close()

?代碼分段解析

導(dǎo)入模塊

  • import paramiko:導(dǎo)入?paramiko?模塊,這是一個(gè)強(qiáng)大的 Python 庫,用于實(shí)現(xiàn) SSHv2 協(xié)議,可用于遠(yuǎn)程連接和操作設(shè)備。
  • import time:導(dǎo)入?time?模塊,用于在程序中添加延遲,等待設(shè)備處理命令。
import paramiko
import time

?遍歷IP:

  • 利用for循環(huán)遍歷元素為交換機(jī)IP地址的列表,實(shí)現(xiàn)每次for循環(huán)對一個(gè)交換機(jī)進(jìn)行一次配置
for ip in ["192.168.10.1","192.168.9.2"]:

用戶輸入

  • username = input("請輸入用戶名:"):使用?input?函數(shù)接收用戶輸入的用戶名。
  • password = input("請輸入密碼:"):使用?input?函數(shù)接收用戶輸入的密碼。
username = input("請輸入用戶名:")
password = input("請輸入密碼:")

SSH 連接的建立

  • ssh_client = paramiko.SSHClient():創(chuàng)建一個(gè)?SSHClient?對象,用于建立 SSH 連接。
  • ssh_client.set_missing_host_key_policy(paramiko.AutoAddPolicy()):設(shè)置主機(jī)密鑰策略為?AutoAddPolicy(),這樣在連接未知主機(jī)時(shí),會(huì)自動(dòng)添加SSH服務(wù)器發(fā)送的密碼,防止建立SSH連接失敗。
  • ssh_client.connect(hostname=ip, username=username, password=password):使用提供的用戶名和密碼通過connect()函數(shù)連接到指定的 IP 地址的 SSH 服務(wù)器。

創(chuàng)建交互式會(huì)話并發(fā)送命令

  • commend = ssh_client.invoke_shell():使用?invoke_shell()?方法調(diào)用設(shè)備的命令行界面
  • commend.send("sys\n"):發(fā)送?sys?命令,可能是為了進(jìn)入系統(tǒng)配置模式
  • for vlan_id in range(100, 104)::使用?for?循環(huán)命令,依次遍歷vlan_id,。
    • print(f"正在創(chuàng)建vlan {vlan_id}"):打印當(dāng)前正在創(chuàng)建的?vlan?信息。
    • commend.send(f"vlan {vlan_id}\n"):發(fā)送?vlan?命令,\n?表示回車鍵,即執(zhí)行命令。

等待和接收輸出

  • time.sleep(2):等待 2 秒,期望設(shè)備在這段時(shí)間內(nèi)完成命令的執(zhí)行,但這種等待方式不夠可靠,因?yàn)椴煌O(shè)備的執(zhí)行時(shí)間不同。
  • output = commend.recv(65535).decode("ascii"):使用?recv(65535)?接收最多 65535 字節(jié)的輸出,并將其解碼為?ascii?編碼的字符串。
  • print("命令行界面配置過程:")?和?print(output):打印輸出,顯示設(shè)備的命令行界面配置過程。

?代碼執(zhí)行過程:

實(shí)驗(yàn)結(jié)果驗(yàn)證:?

二.getpass模塊?

????????當(dāng)使用?input?函數(shù)時(shí),用戶輸入的內(nèi)容會(huì)明文顯示在屏幕上,使用?getpass?函數(shù)時(shí),用戶輸入的信息不會(huì)顯示在屏幕上,這對于輸入敏感信息(如密碼、API 密鑰等)非常有用。

實(shí)驗(yàn)代碼在input函數(shù)的代碼基礎(chǔ)上更改如下:

import paramiko
from getpass import getpass
import timefor ip in ["192.168.10.1","192.168.9.2"]:username = input("請輸入用戶名:")password = getpass('Password:')ssh_client = paramiko.SSHClient()ssh_client.set_missing_host_key_policy(paramiko.AutoAddPolicy())ssh_client.connect(hostname=ip,username=username,password=password)print(f"Successfully to connect {ip}")commend = ssh_client.invoke_shell()commend.send("sys\n")for vlan_id in range(100,104):print(f"正在創(chuàng)建vlan {vlan_id}")commend.send(f"vlan {vlan_id}\n")time.sleep(2)output = commend.recv(65535).decode("ascii")print("命令行界面配置過程:")print(output)time.sleep(2)
ssh_client.close()

?此處不再贅述代碼解析,用戶在輸入密碼時(shí)將不會(huì)顯示在屏幕上。

注意:getpass模塊存在bug,無法在pycharm中運(yùn)行,想要看到隱藏輸入效果,可以在windows終端里運(yùn)行python代碼。

在pycharm左下角存在終端圖標(biāo),可以打開windows終端:

?


總結(jié)

http://www.risenshineclean.com/news/50446.html

相關(guān)文章:

  • 黃岡最專業(yè)的公司網(wǎng)站建設(shè)平臺(tái)西安百度seo代理
  • wordpress做一個(gè)視頻網(wǎng)站嗎刷網(wǎng)站排名軟件
  • 在線做網(wǎng)站索引線下營銷推廣方式都有哪些
  • 合肥搭建網(wǎng)站網(wǎng)絡(luò)營銷的基本特征有哪七個(gè)
  • 怎么用joomla做網(wǎng)站新公司怎么做網(wǎng)絡(luò)推廣
  • 自己做網(wǎng)站 做什么好以營銷推廣為主題的方案
  • wordpress 30天唐山seo推廣公司
  • 網(wǎng)站建設(shè)步驟大全石家莊seo推廣
  • 有哪些做網(wǎng)站的品牌天津百度推廣排名優(yōu)化
  • 做網(wǎng)站的費(fèi)用入賬優(yōu)化公司組織架構(gòu)
  • 申請制作網(wǎng)站seo教程百度網(wǎng)盤
  • 百家號(hào)和網(wǎng)站同步做凡科建站客服電話
  • 做設(shè)計(jì)找圖有哪些網(wǎng)站有哪些問題能打開各種網(wǎng)站的瀏覽器
  • 做家庭影院的有哪些網(wǎng)站網(wǎng)站優(yōu)化方案范文
  • 銘萬做的網(wǎng)站百度論壇
  • 網(wǎng)站建設(shè)崗位工作范圍網(wǎng)絡(luò)優(yōu)化工程師吃香嗎
  • 做網(wǎng)站銷售東西 需要什么資質(zhì)抖音廣告推廣
  • 武漢建筑工程有限公司搜索引擎seo關(guān)鍵詞優(yōu)化效果
  • 簡單的購物網(wǎng)站源碼百度推廣充值必須5000嗎
  • 做調(diào)查賺錢的網(wǎng)站又哪些品牌傳播方案
  • 福州做網(wǎng)站公司淘寶seo排名優(yōu)化
  • 手機(jī)網(wǎng)站如何做營銷b2c有哪些電商平臺(tái)
  • 江蘇網(wǎng)站建設(shè)定制新浪微博指數(shù)查詢
  • h5互動(dòng)的網(wǎng)站百度快照和廣告的區(qū)別
  • 電子軟件開發(fā)工資多少錢成都seo優(yōu)化公司
  • 同城購物網(wǎng)站建設(shè)泰州百度關(guān)鍵詞優(yōu)化
  • 如何查詢網(wǎng)站的備案信息國際實(shí)時(shí)新聞
  • 創(chuàng)衛(wèi)網(wǎng)站 建設(shè) 方案青島seo經(jīng)理
  • 河北 石家莊 網(wǎng)站建設(shè)青島百度競價(jià)
  • 可做外鏈的視頻網(wǎng)站銀川seo