我正在尝试将文件从我的机器桌面 scp 到我的 vagrant box 中,但我似乎一直遇到这个错误。
ssh: connect to host 127.0.0.1 port 22: Connection refused
lost connection
我查看了我的 vagrant 文件并找到了这一行:
Create a forwarded port mapping which allows access to a specific port
# within the machine from a port on the host machine. In the example below,
# accessing "localhost:8080" will access port 80 on the guest machine.
config.vm.network "forwarded_port", guest: 80, host: 8080
我已经尝试运行这些命令并分别得到以下错误:
scp -P 80 nginx.conf xxxxx@127.0.0.1:/etc/nginx/nginx.conf
ssh: connect to host 127.0.0.1 port 80: Connection refused
lost connection
scp -P 8080 nginx.conf xxxxx@127.0.0.1:/etc/nginx/nginx.conf
ssh_exchange_identification: Connection closed by remote host
lost connection
我试过运行这些命令,但它仍然不起作用。
sudo apt-get install openssh-client
sudo apt-get install openssh-server
如有任何帮助,我们将不胜感激。
我也在 askubuntu.com 上问过这个问题
最佳答案
默认情况下,虚拟机上的 ssh 服务器可能会监听端口 22,而 vagrant 会将其转发到主机上的端口 2222。
所以你应该能够做到:
scp -P 2222 nginx.conf xxxxx@127.0.0.1:/etc/nginx/nginx.conf
您可以使用您找到的端口转发选项来更改它,但是您需要相应地在 guest 上设置您的 ssh 服务器(因此如果 ssh 守护程序没有监听它,转发端口 80 不会做太多事情)。
另一种使 guest 从外部可见的方法是使用公共(public)网络配置 - 这样它就可以从网络上的 DHCP 服务器获取 IP 地址(就像连接一台新物理机一样),然后可以通过这个地址访问它。您可以在您的 Vagrantfile 中执行此操作:
config.vm.network "public_network"
关于ubuntu - 无法将文件从本地机器 scp 到 vagrant,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24941237/