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

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

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

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

汽車電子技術(shù) ? 來源:Python腳本 ? 作者: otfsenter ? 2023-03-03 15:27 ? 次閱讀

圖片

paramiko是用來遠(yuǎn)程執(zhí)行命令的模塊,

下面是ssh和scp的的兩個(gè)例子

1- ssh

#!/usr/bin/env python

import paramiko

hostname = ''
password = ''
command = 'ls'

username = ""
port = 22

client = paramiko.SSHClient()

# 其中l(wèi)oad_host_keys一般配合save_host_keys來使用,
# load_system_host_keys可以指定主機(jī)密鑰文件,
# 如果不指定默認(rèn)就是家目錄下的.ssh目錄下的known_hosts文件。
client.load_system_host_keys()

client.connect(hostname=hostname, port=port,
               username=username, password=password)

stdin, stdout, stderr = client.exec_command(command)
print(stdout.read())
client.close()

2- scp

這里是直接把服務(wù)器上面的的文件復(fù)制下來

#!/usr/bin/env python

import paramiko

hostname = ''
password = ''
source = '/root/tmp.txt'  # 服務(wù)器上的文件
dest = r'D:\\tmp\\tmp.txt'  # 本機(jī)的文件

username = ""
port = 22

t = paramiko.Transport((hostname, port))
t.connect(username=username, password=password)

sftp = paramiko.SFTPClient.from_transport(t)
sftp.get(source, dest)

t.close()

3- load_system_host_keys函數(shù)的源碼

def load_system_host_keys(self, filename=None):
    if filename is None:
        # try the user's .ssh key file, and mask exceptions
        filename = os.path.expanduser("~/.ssh/known_hosts")
        try:
            self._system_host_keys.load(filename)
        except IOError:
            pass
        return
    self._system_host_keys.load(filename)

從這里可以看出,

load_system_host_keys默認(rèn)從~/.ssh/known_hosts里面獲取服務(wù)器,

否則要自己提供一個(gè)文件,

這里需要注意一下。

4- 參考的鏈接

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

    關(guān)注

    7

    文章

    2655

    瀏覽量

    47293
  • 命令
    +關(guān)注

    關(guān)注

    5

    文章

    676

    瀏覽量

    21965
  • 執(zhí)行
    +關(guān)注

    關(guān)注

    0

    文章

    16

    瀏覽量

    12585
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    手機(jī)也能玩Linux服務(wù)器——NOKIA手機(jī)高端應(yīng)用

    no”  輸入用戶名和密碼后,我們看到已經(jīng)成功登陸服務(wù)器上,這時(shí)光標(biāo)停在命令提示符上,如圖:  我們輸入幾個(gè)簡單基本的Linux命令:  ls
    發(fā)表于 11-28 14:05

    遠(yuǎn)程登陸linux

    (man-in-the-middle)攻擊方式的攻擊。就是存在另一個(gè)人或者一臺(tái)機(jī)器冒充真正的服務(wù)器接收用戶傳給服務(wù)器的數(shù)據(jù),然后再冒充用戶把數(shù)據(jù)傳給真正的服務(wù)器。而 SSH 是目前較可靠,專為遠(yuǎn)程登錄會(huì)話和其他網(wǎng)絡(luò)
    發(fā)表于 12-04 16:29

    【Banana Pi M1+試用體驗(yàn)】BananaPi-M1+之串口登陸、vnc遠(yuǎn)程登陸

    的串口。(打開設(shè)備管理就可以看到,我這里是COM3)速度那里填115200,然后點(diǎn)打開要是開機(jī)過后進(jìn)去是什么都不顯示的,在這里只要按回車鍵就可以看見命令行了。然后輸入用戶名跟密碼(我這里已經(jīng)登陸過了
    發(fā)表于 06-17 19:20

    【Banana Pi M1+試用體驗(yàn)】BananaPi-M1之搭建FTP服務(wù)器

    命令行窗口,輸入ftp +你的ip地址。默認(rèn)賬號(hào)是pi密碼bananapi(根據(jù)你實(shí)際登陸PI用的賬號(hào)密碼) 如果顯示這樣,說明你的ftp服務(wù)器已經(jīng)成功啟動(dòng)了。6.電腦登陸ftp服
    發(fā)表于 06-26 12:53

    【NanoPi NEO Plus2開發(fā)板試用體驗(yàn)】tomcat+mysql+natapp搭建服務(wù)器(域名登陸)---續(xù)

    前言:前面寫到安裝好tomcat、mysql之后,在電腦端用瀏覽登陸服務(wù)器,接下來配置虛擬目錄,創(chuàng)建數(shù)據(jù)庫和表,插入數(shù)據(jù)。之前部分的鏈接是:https://bbs.elecfans.com
    發(fā)表于 08-25 17:59

    遠(yuǎn)端機(jī)器的臨時(shí)執(zhí)行命令

    例行化的工作,像復(fù)雜的配置管理、機(jī)械化的環(huán)境部署,可以用Ansible的playbook(劇本)功能。臨時(shí)需要在遠(yuǎn)端機(jī)器執(zhí)行命令時(shí),可以使用Ansible的ad-hoc command(臨時(shí)執(zhí)行命令
    發(fā)表于 07-19 06:42

    走近源碼之Redis如何執(zhí)行命令

    走近源碼:Redis如何執(zhí)行命令
    發(fā)表于 06-09 16:31

    賬號(hào)登陸問題

    我使用學(xué)生郵箱申請的學(xué)生許可證,然后用我自己的常用郵箱申請了得極的賬號(hào),請問我該如何在使用學(xué)生許可證的同時(shí)使用得極。學(xué)生許可證登陸服務(wù)器是portal365.altium.com,得極服務(wù)器是portal365.altium.c
    發(fā)表于 04-20 11:51

    求一份基于RK3399的Samba共享服務(wù)器設(shè)計(jì)方案

    1、搭建Samba共享服務(wù)器安裝Samba首先遠(yuǎn)程登陸 RK3399執(zhí)行以下命令安裝 Samba安裝結(jié)束階段有錯(cuò)誤提示,但提示說可以忽略這個(gè)錯(cuò)誤配置Samba新建 smaba 共享目錄
    發(fā)表于 04-15 16:10

    在華為彈性云服務(wù)器上遠(yuǎn)程編譯RK3568的相關(guān)資料介紹

    1、在華為彈性云服務(wù)器上遠(yuǎn)程編譯rk3568配置華為彈性云服務(wù)器首先注冊登陸華為云登陸后進(jìn)入控制臺(tái)的彈性云
    發(fā)表于 09-08 17:06

    CAD中如何快速重復(fù)執(zhí)行命令?

    快速重復(fù)執(zhí)行命令主要是靠鼠標(biāo)右鍵或者是鍵盤上的空格以及上下方向鍵。 輸入OP命令打開選項(xiàng)對話框,點(diǎn)用戶系統(tǒng)配置選項(xiàng)卡自定義右鍵單擊按鈕,默認(rèn)模式下無論是否選定對象,單
    發(fā)表于 10-23 17:04 ?1610次閱讀

    Webshell提權(quán)登陸服務(wù)器

    Webshell提權(quán)登陸服務(wù)器
    發(fā)表于 09-07 14:04 ?4次下載
    Webshell提權(quán)<b class='flag-5'>登陸</b><b class='flag-5'>服務(wù)器</b>

    freeSSHD+PuTTY+UE實(shí)現(xiàn)SFTP服務(wù)器搭建配置和登陸

    freeSSHD+PuTTY+UE實(shí)現(xiàn)SFTP服務(wù)器搭建配置和登陸
    發(fā)表于 09-09 08:25 ?7次下載
    freeSSHD+PuTTY+UE實(shí)現(xiàn)SFTP<b class='flag-5'>服務(wù)器</b>搭建配置和<b class='flag-5'>登陸</b>

    介紹redis服務(wù)器運(yùn)行過程

    Redis服務(wù)器負(fù)責(zé)與多個(gè)客戶端建立網(wǎng)絡(luò)連接,處理客戶端發(fā)送三個(gè)的命令請求,在數(shù)據(jù)庫中爆粗你客戶單執(zhí)行命令所產(chǎn)生的數(shù)據(jù),通過資源管理來維持服務(wù)器
    發(fā)表于 03-07 10:15 ?547次閱讀

    1433端口的SQL TOOL執(zhí)行命令錯(cuò)誤應(yīng)該如何修復(fù)詳細(xì)說明

    然后用SQL TOOLS連接主機(jī),進(jìn)行SQL或者CMD命令執(zhí)行,從而 得主機(jī)的控制權(quán),但是服務(wù)器的管理人員通常會(huì)把一些不安全的漏洞補(bǔ)上,所以用sql tools直接執(zhí)行命令成功的幾率不
    發(fā)表于 11-22 16:20 ?2次下載