一、使用工具
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()