女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

如何使用Paramiko庫來建立SSH連接遠(yuǎn)程命令?

網(wǎng)絡(luò)技術(shù)干貨圈 ? 來源:網(wǎng)絡(luò)技術(shù)干貨圈 ? 2023-04-28 09:50 ? 次閱讀

Paramiko是Python的一個(gè)SSH客戶端和服務(wù)器庫,可以實(shí)現(xiàn)SSHv2協(xié)議的加密和身份驗(yàn)證功能,支持SFTP和SCP協(xié)議。在本文中,我們將介紹如何使用Paramiko庫來建立SSH連接、執(zhí)行遠(yuǎn)程命令、傳輸文件等。

安裝Paramiko

要使用Paramiko庫,我們需要先安裝它。可以使用pip命令進(jìn)行安裝:

pipinstallparamiko

建立SSH連接

使用Paramiko庫建立SSH連接非常簡單,只需指定主機(jī)名、用戶名和密碼即可。以下是一個(gè)簡單的示例:

importparamiko

ssh=paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh.connect('hostname',username='username',password='password')

stdin,stdout,stderr=ssh.exec_command('ls')
print(stdout.read().decode())

ssh.close()

在上述示例中,我們首先創(chuàng)建一個(gè)SSHClient對(duì)象,并將主機(jī)名、用戶名和密碼作為參數(shù)傳遞給connect()方法。然后,使用exec_command()方法執(zhí)行l(wèi)s命令,并將結(jié)果打印到控制臺(tái)。最后,我們關(guān)閉SSH連接。

執(zhí)行遠(yuǎn)程命令

使用Paramiko庫執(zhí)行遠(yuǎn)程命令也很簡單,只需將命令作為字符串傳遞給exec_command()方法。以下是一個(gè)示例:

importparamiko

ssh=paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh.connect('hostname',username='username',password='password')

command='ls-l'
stdin,stdout,stderr=ssh.exec_command(command)

forlineinstdout.readlines():
print(line.strip())

ssh.close()

在上述示例中,我們使用exec_command()方法執(zhí)行l(wèi)s -l命令,并使用readlines()方法讀取輸出結(jié)果,并打印到控制臺(tái)。需要注意的是,在某些情況下,需要使用strip()方法刪除輸出結(jié)果中的換行符。

eaa70198-e504-11ed-ab56-dac502259ad0.png

傳輸文件

使用Paramiko庫傳輸文件也很簡單,只需使用SFTPClient類即可。以下是一個(gè)示例:

importparamiko

ssh=paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh.connect('hostname',username='username',password='password')

sftp=ssh.open_sftp()
sftp.put('local_file_path','remote_file_path')
sftp.get('remote_file_path','local_file_path')

sftp.close()
ssh.close()

在上述示例中,我們首先創(chuàng)建一個(gè)SFTPClient對(duì)象,并使用put()方法將本地文件傳輸?shù)竭h(yuǎn)程主機(jī)上。然后,使用get()方法將遠(yuǎn)程文件傳輸?shù)奖镜刂鳈C(jī)上。最后,我們關(guān)閉SFTPClient和SSH連接。

使用密鑰認(rèn)證

除了使用用戶名和密碼進(jìn)行身份驗(yàn)證外,我們還可以使用SSH密鑰進(jìn)行身份驗(yàn)證。以下是一個(gè)示例:

importparamiko

ssh=paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh.connect('hostname',username='username',pkey=key)

stdin,stdout,stderr=ssh.exec_command('ls')
print(stdout.read().decode())

ssh.close()

在上述示例中,我們首先使用from_private_key_file()方法加載SSH私鑰文件,并將私鑰作為參數(shù)傳遞給connect()方法。然后,我們使用exec_command()方法執(zhí)行l(wèi)s命令,并將結(jié)果打印到控制臺(tái)。最后,我們關(guān)閉SSH連接。

高級(jí)選項(xiàng)

Paramiko庫還提供了許多高級(jí)選項(xiàng),例如超時(shí)、端口轉(zhuǎn)發(fā)、密鑰管理等。以下是一個(gè)示例:

importparamiko

ssh=paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh.connect('hostname',username='username',password='password',port=22,timeout=10)

#開啟端口轉(zhuǎn)發(fā)
transport=ssh.get_transport()
local_port=8080
remote_host='google.com'
remote_port=80
transport.request_port_forward('',local_port,remote_host,remote_port)

#密鑰管理
key=paramiko.RSAKey.generate(2048)
private_key_string=key.export_key('PEM')
public_key_string=key.get_base64()

ssh.close()

在上述示例中,我們首先使用connect()方法連接到遠(yuǎn)程主機(jī),并指定了端口號(hào)和超時(shí)時(shí)間。然后,我們使用get_transport()方法獲取SSH傳輸對(duì)象,并使用request_port_forward()方法開啟端口轉(zhuǎn)發(fā)。最后,我們使用generate()方法生成RSA密鑰,并使用export_key()和get_base64()方法導(dǎo)出私鑰和公鑰。

eac8fc4e-e504-11ed-ab56-dac502259ad0.png

結(jié)論

在本文中,我們介紹了如何使用Python Paramiko庫實(shí)現(xiàn)SSH客戶端和服務(wù)器功能,包括建立SSH連接、執(zhí)行遠(yuǎn)程命令、傳輸文件等。此外,我們還介紹了如何使用SSH密鑰進(jìn)行身份驗(yàn)證,并討論了一些高級(jí)選項(xiàng)。使用Paramiko庫,我們可以輕松地編寫Python腳本來管理遠(yuǎn)程服務(wù)器和網(wǎng)絡(luò)設(shè)備。





審核編輯:劉清

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 服務(wù)器
    +關(guān)注

    關(guān)注

    12

    文章

    9671

    瀏覽量

    87211
  • SSH
    SSH
    +關(guān)注

    關(guān)注

    0

    文章

    193

    瀏覽量

    16773
  • python
    +關(guān)注

    關(guān)注

    56

    文章

    4823

    瀏覽量

    86107
  • SCP
    SCP
    +關(guān)注

    關(guān)注

    0

    文章

    30

    瀏覽量

    9469

原文標(biāo)題:網(wǎng)絡(luò)工程師學(xué)Python-34-SSH客戶端和服務(wù)器庫Paramiko

文章出處:【微信號(hào):網(wǎng)絡(luò)技術(shù)干貨圈,微信公眾號(hào):網(wǎng)絡(luò)技術(shù)干貨圈】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    【linux篇】ubuntu下的SSH安裝與使用

    win端可以通過putty等一些ssh軟件進(jìn)行遠(yuǎn)程連接。win10系統(tǒng)也可以通過cmd打開dos串口,使用ssh命令
    的頭像 發(fā)表于 06-13 09:07 ?4126次閱讀

    ssh連接

    Telne服務(wù)使用很方便,但是它是通過明文傳遞信息,所有安全性就不高,目前普遍使用的SSH(SecureShell)進(jìn)行遠(yuǎn)程管理 。SSH協(xié)議有S
    發(fā)表于 03-28 16:38

    【HiKey試用體驗(yàn)】4.通過SSH遠(yuǎn)程連接Hikey

    行操作,大神都是通過命令行寫程序什么的。這里給大家介紹一個(gè)炒雞好用的工具,SSHSSH一句話介紹:可以遠(yuǎn)程發(fā)送命令行到本機(jī),想想如果你不需
    發(fā)表于 05-02 20:43

    如何使用SSH遠(yuǎn)程命令登錄香橙派開發(fā)板

    地址為了遠(yuǎn)程登錄香橙派開發(fā)板,首先需要獲取開發(fā)板的 IP 地址。我們可以通過串口查看。3.使用 ssh 遠(yuǎn)程登錄香橙派開發(fā)板3.1使用 xshell 新建一個(gè)
    發(fā)表于 05-22 17:16

    ubuntu- python-ssh遠(yuǎn)程控制jetson nano與單片機(jī)串口通信的方法

    筆記本和jetson都是18。04用筆記本連jetson再用python寫ssh連接nano,nano上插了板子可進(jìn)行通信para.pyimport paramiko #創(chuàng)建一個(gè)ssh
    發(fā)表于 01-19 06:32

    Python+微信一鍵連接實(shí)現(xiàn)遠(yuǎn)程管理Windows10操作系統(tǒng)的開機(jī)和關(guān)機(jī)

    首先通過微信發(fā)送開機(jī)指令,這里我使用的是 itchat 程序會(huì)調(diào)用 Paramiko SSH 遠(yuǎn)程到內(nèi)網(wǎng)的樹莓派執(zhí)行 WakeOnLan 命令
    的頭像 發(fā)表于 02-25 09:17 ?6444次閱讀

    SSH第1部分:配置SSH以安全連接遠(yuǎn)程設(shè)備

    Secure Shell (SSH) 協(xié)議通常用于遠(yuǎn)程管理,因?yàn)樗诳蛻舳撕?b class='flag-5'>遠(yuǎn)程設(shè)備之間提供加密連接,并在兩個(gè)系統(tǒng)之間啟用加密的雙向通信路徑。幾十年
    的頭像 發(fā)表于 01-03 09:45 ?1645次閱讀

    [Q3] 沒有ssh客戶端怎么快速連接

    ,Pkey,Port=22): #基于用戶名密鑰連接并執(zhí)行命令 try: SSH = paramiko.SSHClient
    的頭像 發(fā)表于 01-06 18:14 ?996次閱讀

    如何用paramiko登陸服務(wù)器并執(zhí)行命令

    paramiko是用來遠(yuǎn)程執(zhí)行命令的模塊,
    的頭像 發(fā)表于 03-03 15:27 ?1268次閱讀
    如何用<b class='flag-5'>paramiko</b>登陸服務(wù)器并執(zhí)行<b class='flag-5'>命令</b>

    介紹一些流行的Python SSH以及如何使用它們

    Python SSH是一種用于遠(yuǎn)程連接和管理Linux服務(wù)器的Python
    的頭像 發(fā)表于 04-28 09:46 ?3772次閱讀

    Linux上建立SSH安全連接的10種方法

    建立 SSH 安全連接的方法是通過 SSH (Secure Shell) 協(xié)議建立的加密通道,用于在服務(wù)器和客戶機(jī)之間的安全通信。
    的頭像 發(fā)表于 05-29 10:29 ?6401次閱讀

    SSH命令詳解

    ssh是一種安全的遠(yuǎn)程登錄及傳輸協(xié)議。ssh可用于遠(yuǎn)程登錄、遠(yuǎn)程文件傳輸?shù)取?b class='flag-5'>ssh是安全的she
    的頭像 發(fā)表于 06-02 10:00 ?1.8w次閱讀
    <b class='flag-5'>SSH</b><b class='flag-5'>命令</b>詳解

    如何通過SSH連接到Linux計(jì)算機(jī)?

    的基本概念與工作原理 SSH是一種用于在不可信的網(wǎng)絡(luò)中建立安全連接的網(wǎng)絡(luò)協(xié)議。它能夠通過加密和身份驗(yàn)證保護(hù)遠(yuǎn)程訪問和數(shù)據(jù)傳輸?shù)陌踩?
    的頭像 發(fā)表于 01-12 16:06 ?1750次閱讀

    SSH遠(yuǎn)程操作的基本方式

    SSH 是 Linux 下進(jìn)行遠(yuǎn)程連接的基本工具,但是如果僅僅用它登錄那可是太浪費(fèi)啦!SSH 命令
    的頭像 發(fā)表于 11-11 11:15 ?663次閱讀
    <b class='flag-5'>SSH</b><b class='flag-5'>遠(yuǎn)程</b>操作的基本方式

    SSH遠(yuǎn)程登錄與控制教程

    SSH(Secure Shell)是一種安全通道協(xié)議,主要用來實(shí)現(xiàn)字符界面的遠(yuǎn)程登錄、遠(yuǎn)程 復(fù)制等功能。SSH 協(xié)議對(duì)通信雙方的數(shù)據(jù)傳輸進(jìn)行了加密處理,其中包括用戶登錄時(shí)輸入的用戶口令
    的頭像 發(fā)表于 04-09 13:43 ?1812次閱讀
    <b class='flag-5'>SSH</b><b class='flag-5'>遠(yuǎn)程</b>登錄與控制教程