Ubuntu18虚拟机通过SSH连接嵌入式板&通过rcp传输文件到指定目录
Ubuntu18.04 通过SSH方式连接远程设备,进行调试和文件传输
·
操作步骤为:
- 1.Ubuntu虚拟连接入局域网
-
- 虚拟机安装ssh
-
- 通过ssh连接网关,以rcp方式传输文件
-
- 编写脚本,单次传输多个文件和文件夹
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
添加内容:
auto ens36
iface ens36 inet static
address 192.168.8.157
netmask 255.255.255.0
gateway 192.168.8.1
注:我的网卡号是ens36,对照自己的网卡进行配置
然后测试一下ping 192.168.8.1 默认网关是否能够通,如果能够通说明已经加入了局域网
在局域网内的设备IP是192.168.2.30,我要给我的网卡加一个IP,方式为:
ifconfig ens36:1 192.168.2.105
添加了一个2网段的IP
然后测试一下ping 192.168.2.30
如果正常连接的话是能够ping通的
2 安装ssh服务
sudo apt-get install openssh
# Ubuntu18如果openssh不能安装,可以安装 ssh
sudo apt-get install openssh-server
再执行:
ssh root@192.168.2.30
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/
这样会将config目录以及其下的文件树复制到远程指定位置“/etc/init.d/”
在复制之后查看远程机器上面是否存在这些文件
如果正常发送的话,提示内容为:
rc.local 100% 1924 570.1KB/s 00:00
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/
这样的话可以比较简单的一次性传送多个文件到不同位置
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"
然后就出现:
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
然后就可以正常连接了
更多推荐
已为社区贡献3条内容
所有评论(0)