使用SCP工具和SSH实现主机与Hyper-V虚拟机之间的文件传输

实验环境

——主机软件——
Windows 10 1903(18362.356)
——虚拟机软件——
Hyper-V(10.0.18362.1),Ubuntu 18.04.3最小安装,与主机共享IP

前言

Hyper-V是Windows 10自带的虚拟机平台,较VMWare更加简洁且是免费的,但是使用中发现Hyper-V不能提供类似VMWare Tool的文件拖拽拷贝功能,为了实现主机-虚拟机之间的文件互传,可以使用SCP+SSH代替其他的第三方软件。

Ubuntu端配置

  1. 对于精简版版本,先安装SSH:
sudo apt install ssh
  1. 启动SSH服务
service sshd start
  1. 关闭防火墙
/etc/init.d/iptables stop
  • 查看端口号(默认SSH端口号是22)
    精简版Ubuntu无此文件,可不操作
grep Port /etc/ssh/sshd.config

该端口号可以使用vi/vim工具修指定#Port=的值进行修改,指定的端口需要被防火墙例外(像上面关闭防火墙也可)

主机配置

  1. 打开命令提示符(不需要管理员模式)
  2. Windows下默认集成SCP工具,命令语法如下:
    获取服务器上的文件
scp -P 22 user@IP:/源文件目录/源文件名 X:\保存的路径\保存的文件名 

获取服务器上的目录

scp -P 22 -r user@IP:/源文件目录 X:\保存的目录

向服务器传递文件

scp -P 22 X:\源路径\源文件名 user@IP:/目的目录/保存的文件名  

向服务器传递目录

scp -P 22 -r X:\源路径 user@IP:/目的目录 

*其中user为Ubuntu中的用户名(该用户可以不是root);IP是虚拟机和主机共享的IP地址,查询方法见下文,其他详细信息请查询文末标注的参考来源

Tips:

——获取IP地址——
Windows环境下可以通过命令提示符中输入ipconfig或者查看适配器设置或者查看路由器客户端页面等方式得到IP地址;
Ubuntu环境下可以在Terminal中输入ifconfig查看ethn的IP地址,该方法需要安装net-tools工具:

sudo apt install net-tools

在本文设定的使用环境中,由于主机和虚拟机共用IP,所以无论在Windows下还是在Ubuntu下,只需查询一次即可。

  • apt和apt-get的区别请自行查找
  • 若上传/下载时提示SCP No such file or directory,请优先检查路径和文件名正确性,以及标点符号等的正确性

参考

  1. SSH配置方法
  2. SCP命令使用

————2019-9-25 @燕卫博————

你可能感兴趣的:(SSH,SCP,Hyper-V)