zoukankan      html  css  js  c++  java
  • 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
    '

    文件传送的部分代码

    # -*- 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()
  • 相关阅读:
    弹窗
    [转]JNI字段描述符“([Ljava/lang/String;)V”
    [转]JNIEnv解析
    [转]"error while loading shared libraries: xxx.so.x" 错误的原因和解决办法
    [转]Linux下如何查看版本信息
    [转]apt-get 与 yum的区别 (转)
    我的tesseract学习记录(二)
    [转]pkg-config的用法
    [转]linux 创建连接命令 ln -s 软链接
    如何写makefile
  • 原文地址:https://www.cnblogs.com/littleswan/p/11512038.html
Copyright © 2011-2022 走看看