使用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 @燕卫博————

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
如果你想将文件从 Windows 主机复制到运行在 Hyper-V 上的 Linux 虚拟机上,你可以使用以下两种方法: 方法一:使用 Samba 共享 1. 在 Linux 虚拟机上安装 Samba 服务。 可以通过运行以下命令来安装 Samba: ``` sudo apt-get update sudo apt-get install samba ``` 2. 在 Linux 虚拟机上创建共享文件夹。 可以通过运行以下命令来创建共享文件夹: ``` sudo mkdir /home/user/share sudo chmod 777 /home/user/share ``` 其中,/home/user/share 是你要共享的文件夹路径。 3. 在 Samba 配置文件中添加共享文件夹。 可以通过运行以下命令来编辑 Samba 配置文件: ``` sudo nano /etc/samba/smb.conf ``` 在文件末尾添加以下内容: ``` [share] path = /home/user/share read only = no ``` 其中,share 是共享文件夹的名称,path 是共享文件夹的路径,read only = no 表示可读写。 4. 重启 Samba 服务。 可以通过运行以下命令来重启 Samba 服务: ``` sudo service smbd restart ``` 5. 在 Windows 主机上访问共享文件夹。 可以通过在 Windows 资源管理器中输入以下命令来访问共享文件夹: ``` \\<Linux 虚拟机 IP 地址>\share ``` 其中,<Linux 虚拟机 IP 地址> 是 Linux 虚拟机的 IP 地址,share 是共享文件夹的名称。 6. 将文件复制到共享文件夹中。 在 Windows 资源管理器中,将要复制的文件拖放到共享文件夹中即可。 7. 在 Linux 虚拟机中查看复制的文件。 可以通过运行以下命令来查看共享文件夹中的文件: ``` ls /home/user/share ``` 其中,/home/user/share 是共享文件夹的路径。 方法二:使用 scp 命令 1. 在 Linux 虚拟机上安装 ssh 服务。 可以通过运行以下命令来安装 ssh: ``` sudo apt-get update sudo apt-get install ssh ``` 2. 在 Windows 主机上安装 WinSCP 软件。 WinSCP 是一款免费的 Windows 客户端软件,可以用于在 Windows 主机和 Linux 虚拟机之间传输文件。你可以在官网上下载并安装 WinSCP。 3. 在 WinSCP 中连接到 Linux 虚拟机。 在 WinSCP 中,输入 Linux 虚拟机的 IP 地址、用户名和密码,然后点击“登录”按钮。 4. 将文件复制到 Linux 虚拟机中。 在 WinSCP 中,将要复制的文件拖放到 Linux 虚拟机的目录中即可。 5. 在 Linux 虚拟机中查看复制的文件。 可以通过运行以下命令来查看 Linux 虚拟机中的文件: ``` ls /path/to/copied/file ``` 其中,/path/to/copied/file 是文件的路径。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值