(我在虚拟机上运行 ubuntu 服务器 12.04)
我正在尝试将文件 (scp) 从我的笔记本电脑传输到虚拟机的某个目录。我尝试共享文件夹,但失败了。我是一个网络新手。
我看了大概 20-30 页。这是其中之一: http://www.howtoforge.com/moving-files-between-linux-systems-with-scp
我完全按照这些步骤操作。我的问题是,当我尝试使用 scp 时,它就挂起了。我也不确定在客户操作系统中要配置哪个网络接口(eth0、eth1?)。另一个(重要的?)细节是 eth0 的 inet 地址是 10.0.2.15,而不是 192.168.xy 之类的地址
我已启用桥接适配器和仅主机适配器。笔记本电脑和客户虚拟机都安装了 openssh-server。我现在不知道该怎么做。
有没有更好的地方可以询问此事?
答案1
您无法使用 scp/ssh 的原因是您的客户机和主机当前位于不同的网络上。客户机当前已通过 NAT 连接到主机网络,因此可以访问互联网。本质上,您需要在客户机虚拟机上设置另一个网络适配器。
还应注意,10.0.2.* 子网是 VBox 配置的本地子网,是机器的 NAT 地址。不要禁用此设备。192.168.。子网是为内部/个人网络分配的IP空间。
去做这个:
- 关闭客户虚拟机
- 在 VBox 偏好设置中,选择网络和“适配器 2”。启用它并将“附加到”设置为“仅主机适配器”
- 启动客户虚拟机。运行以下命令:
$ sudo ifconfig eth1
链路封装:以太网 HWaddr XX:XX:XX:XX:XX inet 地址:192.168.56.101Bcast:192.168.56.255 掩码:255.255.255.0 inet6 地址:XXXX::XXXX:XXXX:XXXX:XXXX/64 范围:链接 UP 广播运行多播 MTU:1500 度量:1 RX 数据包:296 错误:0 丢弃:0 超限:0 帧:0 TX 数据包:237 错误:0 丢弃:0 超限:0 载波:0 冲突:0 txqueuelen:1000 RX 字节:32116(31.3 KiB)TX 字节:37642(36.7 KiB)
现在你需要编辑/etc/network/interfaces。将地址更改为您的基本 IP 地址。
auto eth1
iface eth1 inet static
address 192.168.56.101
netmask 255.255.255.0
现在,您应该能够使用正确的 IP 地址在主机和客户机之间来回 ssh/scp。(请注意,它不会是来自 eth0 的 IP)
From the host machine to guest machine:
$ ssh[电子邮件保护](将其更改为访客 IP 地址)
成功!
答案2
简单的方法是使用scp
:
确保您在客户机上运行 sshd 服务,否则运行以下命令:
/etc/init.d/sshd restart
从主机PC:
scp some_host_file some_guest_user@guest_ip:~/
答案3
我通过使用 Homestead 安装中的第二个适配器的 IP 地址解决了该问题:192.168.x.x
在我的情况下。适配器 1 已进行 NAT,并127.0.0.1:2222
在 VM 启动时显示在输出中,但在我的情况下,适配器 1 的实际 IP 地址是10.0.X.X
。