一、使用工具
win7 ,pycharm,python2.7.14, pip 19.2.3
二、測試過程
將DUT(待測物)接入網絡中,然后遠程操作DUT,使用SSH遠程登錄到主機,然后執行相應的command即可。
三、使用到的庫
paramiko(python中的一個庫)
四、模塊簡介
遵循SSH2協議,支持以加密和認證的方式,進行遠程服務器的連接。
首先安裝paramiko這個包
五、模塊連接使用接口
安裝命令:pip install paramiko
導入paramiko
連接方法:paramiko.SSHClient()
執行方法:exec_command()
斷開連接:close()
信息傳輸:Transport(待定)
六、輸入
Ip:10.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()