[Linux]scp/sshpass:物理主机与虚拟机的文件传输
最初写这篇文章的时候,对 openssh大家族的工具套件(例如: ssh、sshd、ssl、scp等)不太熟悉,现在看来这个文章的标题(虚拟机与物理机)是存在问题的。
本质上,本文关心的并不是【虚拟机】与【物理机】的传输问题,而是使用scp套件工具在【本地机器】与【远程机器】之间的文件传输场景。
1 scp:语法格式
scp
[-12346BCpqrv]
[-c cipher]
[-F ssh_config]
[-i identity_file]
[-l limit]
[-o ssh_option]
[-P port]
[-S program]
[[user@]host1:]file1
...
[[user@]host2:]file2
scp 源文件路径 用户名@服务器地址:目的路径
2 物理机与虚拟机数据传输
CMD(物理机): 将虚拟机的文件夹 拷贝到 物理机
scp -r vmUsername@VM_IP:/.../vmDir/ /.../physicalHostDir/
-r:文件夹,文件目录
CMD(物理机): 将物理机的文件夹 拷贝到 虚拟机
scp -r /.../physicalHostDir/ vmUsername@VM_IP:/.../vmDir/
带明文密码拷贝 当前机器目录下的文件 到 目标机器中
yum -y install sshpass
sshpass -p 200服务器root用户密码 scp -P 22 /tmp/log.csv root@192.168.149.200:/tmp
sshpass -p 'redhat' ssh root@192.168.1.1 'systemctl restart nginx'
3 Winodws与Linux数据传输
- 注意1:因为windows系统本身不支持ssh协议.
所以,要想上面的命令成功执行,必须在windows客户端安装ssh for windows的客户端软件,比如Openssh(客户端+服务端)、winsshd、freeSSHd等,使windows系统支持ssh协议才行。
Win10默认预安装了openssh客户端,openssh服务端未预安装,可在Window【可选应用】中手动快速安装Openssh服务端 - 注意2:数据接受端需开启ssh服务端服务
例如,向windows上传数据,则需要windows开启ssh服务端服务
以Windows向另一台windows传输数据为例L

上传文件:Windows→Linux
scp C:\Users\zbh\Desktop\1.txt lucas@192.168.11.150:/home/lucas/
下载文件:Windows←Linux
scp lucas@192.168.110.128:/home/lucas/world.txt C:\Users\zbh\Desktop\
上传文件: Linux→Windows
scp /home/oracle/a.txt administrator@192.168.3.181:/d:/
下载文件:Linux←Windows
scp administrator@192.168.3.181:/d:/test/config.ips /home/oracle
4 传输文件夹数据
scp -r /opt/SDCInstall/servers helloUser@xx.yy.zz.mm:/opt/SDCInstall/
X 参考文献
[Linux]scp/sshpass:物理主机与虚拟机的文件传输的更多相关文章
- 实现ENSP模拟器与物理主机、虚拟机通信
一.环境描述 我需要实现华为模拟器中的网络设备和物理主机.虚拟机通信.这篇文章中以ENSP中的路由器为例,实现它和物理主机.虚拟机的通信. 二.实现方法 在ENSP中借助Cloud来实现. 在Clo ...
- [转]Virtualbox主机和虚拟机之间文件夹共享及双向拷贝(Windows<->Windows, Windows<->Linux)
本文转自:https://www.jb51.net/article/97271.htm 最近学习Virtualbox的一些知识,记录下,Virtualbox下如何实现主机和虚拟机之间文件夹共享及双向拷 ...
- 用Volume在主机和Docker容器文件传输
1.使用Volume在主机和容器之间传输文件. 在官方文档中可以看到使用如下命令即可创建一个volume: Create a volume: $ docker volume create my-vol ...
- kali linux与虚拟机Vmware安装vmware tools(主机与虚拟机的文件拖拽)
一.打开虚拟机任务栏"虚拟机"-----点击安装Vmware tools 二.回到开启的kali linux系统中,找到vmware tools CD文件夹,拖拽出文件中的压缩文件 ...
- 宿主机mount虚拟机镜像文件
转载 mount挂载虚拟机镜像文件 使用mount挂载ubuntu虚拟机所在的img文件的时候,执行: “sudo mount -o loop xxx.img /mnt/xxx”, 系统提示: “mo ...
- qt-5.6.0 移植之实现板子与ubuntu主机通过网络进行文件传输
经过一上午的调试以及同事的帮助,终于实现板子与主机的文件传输. 第一步关闭所有的防火墙 在 Windows 里面是在控制面板->安全->Windows 防火墙->自定义设置 在ubu ...
- Linux网络编程:UDP实现可靠的文件传输
我们知道,用TCP实现文件传输很简单.相对于TCP,因为UDP是面向无连接.不可靠的传输协议,所以我们需要考虑丢包和后发先至(包的顺序)的问题,所以我们想要实现UDP传输文件,则需要解决这两个问题.方 ...
- 查看linux系统是物理机还是虚拟机
物理机,返回机器型号 [root@laocalhost ~]# dmidecode -s system-product-name S910-X31E 虚拟机 [root@dev01-188 ~]# d ...
- Linux系统盘扩容-物理机非虚拟机
# Linux系统盘扩容 ## 了解磁盘分区情况 - `blkid` 查看分区情况- `fdisk -l` 分区表 ## 系统挂载分区 - `/etc/fstab` 启动挂载分区情况 ## 双系统下分 ...
- Virtualbox主机和虚拟机之间文件夹共享及双向拷贝
把文件发到VirtualBox的方法有很多,下面推荐两种: 1.把要共享的文件夹挂载到虚拟机某一个文件上: (1)打开虚拟机的设置,点击左边的“共享文件夹”,点击带加号的文件按钮,在文件夹路径选择要共 ...
随机推荐
- Python 去掉文本内容中的\xa0字符
爬取网页时,不可避免会遇到\xa0字符串,就会发现,正则re.sub(r'\xa0', '')和字符串的replace都不管用. 通常地,我们所用的空格的ASCII码是 \x20 ,是在标准ASCII ...
- 高并发解决方案之 redis原子操作(适用于秒杀场景)
秒杀活动: 秒杀场景一般会在电商网站或(APP/小程序)举行一些活动或者节假日在12306网站上抢票时遇到.对于一些稀缺或者特价商品,一般会在约定时间点对其进行限量销售,因为这些商品的特殊性,会吸引大 ...
- Java中多态相关知识点
多态 1.多态概述 同一个对象在不同时刻表现出的不同形态 多态的前提和体现: 有继承/实现关系 有方法重写 有父类引用指向子类对象(Animal a = new Cat();) 2.多态中的成员访问特 ...
- FCC 高级算法题 验证电话号码
Validate US Telephone Numbers 如果传入字符串是一个有效的美国电话号码,则返回 true. 用户可以在表单中填入一个任意有效美国电话号码. 下面是一些有效号码的例子(还有下 ...
- WCF使用post 提交
[OperationContract] [WebInvoke(RequestFormat = WebMessageFormat.Json, ResponseFormat = WebMessageFor ...
- Scala操作Kakfa API
如需大数据开发整套视频(hadoop\hive\hbase\flume\sqoop\kafka\zookeeper\presto\spark):请联系QQ:1974983704 由于我使用的是kafk ...
- 微信小程序开发-购物商城
1.搭建首页tabbar结构 自定义组件实现搜索框 2.分类页面 加载分类页面数据 点击左侧菜单,右侧数据动态渲染 使用scroll-view组件 3.商品列表页面 点击商品 展示列表页面 加载商品数 ...
- jxg项目Day3 -数据库
可以通过 DOS 命令启动 MySQL 服务,点击"开始"菜单,在搜索框中输入"cmd",以管理员身份运行,按回车键,弹出命令提示符界面.mysql启动:net ...
- 对深度学习中全连接层、卷积层、感受野、1×1卷积、池化层、softmax层、全局平均池化的一些理解
1.全连接层 在卷积神经网络中,在多个卷积层和池化层后,连接着1个或1个以上的全连接层,全连接层把卷积层和池化层提取出来的所有局部特征重新通过权值矩阵组装成一个完整的图,因为用到了所有的局部特征,所以 ...
- C# EF框架的入门使用
如何构建数据模型 新建项 ADO.NET 实体模型 设置链接 链接字符串需要选择"是,包含敏感数据 注意:EF的框架引用的表应该要存在主键,程序引用中要包含 using System.Dat ...