python實現ssh遠程連接,以及文件的傳送


一、使用工具

win7 pycharmpython2.7.14, pip 19.2.3

二、測試過程

DUT(待測物)接入網絡中,然后遠程操作DUT,使用SSH遠程登錄到主機,然后執行相應的command即可。

三、使用到的庫

paramikopython中的一個庫)

四、模塊簡介

遵循SSH2協議,支持以加密和認證的方式,進行遠程服務器的連接。

首先安裝paramiko這個包

五、模塊連接使用接口

安裝命令:pip install paramiko

導入paramiko

連接方法:paramiko.SSHClient()

執行方法:exec_command()

斷開連接:close()

信息傳輸:Transport(待定)

六、輸入

Ip10.65.150.171

密碼:ns0fucs123

用戶名:root

命令:ls(羅列出DUT下面擁有的目錄結構)

輸出:相應的命令所應該輸出的東西

linux下面的目錄輸出出來

驗證:

 

 

七、文件的傳輸

八、風險分析:

這個腳本可能寫不出來,這個庫目前網上只是給出了連接的過程。但是還沒有關於文件的傳輸的說明,還需要進一步的調研工作。現在只是將這個里面的連接整明白了。連接下面的東西還不是特別的明白。以及連接中文件的傳遞還不是特別的清楚。

九、附件:

 連接的部分代碼

# -*- coding: utf-8 -*
# 測試過程中,比較常用的操作就是將DUT(待測物)接入網絡中,然后遠程操控對DUT,
# 使用SSH遠程登陸到主機,然后執行相應的command即可
# python 代碼如下:
# paramiko是用python語言寫的一個模塊,遵循SSH2協議,支持以加密和認證的方式,進行遠程服務器的連接
# 首先第一步我們需要安裝paramiko這個包
# 安裝命令:pip install paramiko
# 導入paramiko包
import paramiko
s = paramiko.SSHClient()
s.set_missing_host_key_policy(paramiko.AutoAddPolicy())  # 允許連接不在know_hosts文件中的主機
s.connect("10.65.150.53",22,"root", "nsf0cus123")
execmd = 'ls' #需要輸入的命令
stdin, stdout, stderr = s.exec_command (execmd)
print(stdout.read())
s.close()
#結果
#b'/home/usra\n'

文件傳送的部分代碼

# -*- coding: utf-8 -*-
import paramiko
transport = paramiko.Transport(('10.65.150.53', 22))
transport.connect(username='root', password='nsf0cus123')
sftp = paramiko.SFTPClient.from_transport(transport)
# 將location.py 上傳至服務器 /tmp/test.py   '/tmp/test_from_win'
sftp.put('/Users/dell/PycharmProjects/restful/syh.txt', "/tmp/2.txt")
# 將remove_path 下載到本地 local_path
# sftp.get('/root/oldgirl.txt', 'fromlinux.txt')

transport.close()


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM