一、使用工具
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 '
文件传送的部分代码
# -*- 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()