• Ubuntu18虚拟机通过SSH连接嵌入式板&通过rcp传输文件到指定目录


    操作步骤为:

    • 1.Ubuntu虚拟连接入局域网
      1. 虚拟机安装ssh
      1. 通过ssh连接网关,以rcp方式传输文件
      1. 编写脚本,单次传输多个文件和文件夹

    1. Ubuntu连接局域网

    • 本地局域网网段是192.168.8.x网段,需要将Ubuntu设置静态IP到这个网段内。为此要进行两个操作
      1)VM添加一个网卡
      在这里插入图片描述
      在这里插入图片描述
      设置网卡2为桥接模式,直接连接物理网络,这里就需要设置网卡2的静态IP了
      2)编辑/etc/network/interfaces 设置静态IP
      可以先输入 ifconfig,查看当前网卡情况,因为新加的网卡默认是没有IP的,需要手动设置IP;
      输入指令
    vim /etc/network/interfaces
    
    • 1

    添加内容:

    auto ens36
    iface ens36 inet static
    address 192.168.8.157
    netmask 255.255.255.0
    gateway 192.168.8.1
    
    • 1
    • 2
    • 3
    • 4
    • 5

    注:我的网卡号是ens36,对照自己的网卡进行配置
    然后测试一下ping 192.168.8.1 默认网关是否能够通,如果能够通说明已经加入了局域网
    在局域网内的设备IP是192.168.2.30,我要给我的网卡加一个IP,方式为:

    ifconfig ens36:1 192.168.2.105
    
    • 1

    添加了一个2网段的IP
    然后测试一下ping 192.168.2.30
    如果正常连接的话是能够ping通的

    2 安装ssh服务

    sudo apt-get install openssh
    # Ubuntu18如果openssh不能安装,可以安装 ssh
    sudo apt-get install openssh-server
    
    • 1
    • 2
    • 3

    再执行:

    ssh root@192.168.2.30
    
    • 1

    RCP可以将本机的文件复制到指定位置,方式:
    rcp /home/led root@192.168.2.30:/home/lcy
    rcp 选项 文件 远程位置
    -r 选项 如果原文件是目录,复制该目录中的每个字树

    3.测试单个文件的操作

    rcp -r config/ root@192.168.2.30:/etc/init.d/
    
    • 1

    这样会将config目录以及其下的文件树复制到远程指定位置“/etc/init.d/”
    在复制之后查看远程机器上面是否存在这些文件
    如果正常发送的话,提示内容为:

    rc.local                                      100% 1924   570.1KB/s   00:00    
    
    • 1

    4 脚本执行单次传输多个

    #!/bin/bash
    rcp -r /home/lcy/work/firmware_1.29.2/ root@192.168.2.30:/home/root/
    rcp  /home/lcy/work/firmware_1.29.2/change.sh root@192.168.2.30:/home/root/
    
    rcp  /home/lcy/work/config/rc.local  root@192.168.2.30:/etc/init.d/
    
    rcp  /home/lcy/work/config/FirmwareCfg.txt root@192.168.2.30:/opt/
    rcp  /home/lcy/work/config/setData.php root@192.168.2.30:/var/www/html/php2.0/
    
    rcp  /home/lcy/work/config/system.js root@192.168.2.30:/var/www/html/js/
    rcp  /home/lcy/work/config/ComCfg.txt root@192.168.2.30:/opt/
    rcp  /home/lcy/work/config/frame_config.json root@192.168.2.30:/opt/
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12

    这样的话可以比较简单的一次性传送多个文件到不同位置

    5 多次连接SSH的问题:

    如果在连接设备1后,再以SSH方式连接设备2,而设备1和设备2的IP都是192.168.2.30,就会报错
    在这里插入图片描述
    可以按照提示的输入:

    ssh-keygen -f "/home/lcy/.ssh/known_hosts" -R "192.168.2.30"
    
    • 1

    然后就出现:

    lcy@ubuntu:~$ ssh-keygen -f "/home/lcy/.ssh/known_hosts" -R "192.168.2.30"
    # Host 192.168.2.30 found: line 2
    /home/lcy/.ssh/known_hosts updated.
    Original contents retained as /home/lcy/.ssh/known_hosts.old
    
    • 1
    • 2
    • 3
    • 4

    然后就可以正常连接了

  • 相关阅读:
    腾讯云短信使用
    系统架构设计师【第12章】: 信息系统架构设计理论与实践 (核心总结)
    [附源码]计算机毕业设计springboot农产品销售网站
    PyScript:在浏览器中释放Python的强大
    教育培训机构寒暑假班学校公众号小程序
    Python 能力提升之这 9 个 Python 特性被严重低估了
    PC_浮点数加减运算
    Android性能优化方法论
    什么是原生IP与广播IP?原生IP有何优势?
    2022 ICPC 济南总结
  • 原文地址:https://blog.csdn.net/LCY133/article/details/126763748