我试图将文件从我的机器桌面scp到我的流浪盒中,但我似乎一直在遇到这个错误。
ssh: connect to host 127.0.0.1 port 22: Connection refused
lost connection
我查看了我的流浪文件,发现了这一行:
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上提出了这个问题
答案 0 :(得分:6)
默认情况下,虚拟机上的ssh服务器可能会侦听端口22,该流浪者会转发到主机上的端口2222.
所以你应该能够做到:
scp -P 2222 nginx.conf xxxxx@127.0.0.1:/etc/nginx/nginx.conf
您可以使用找到的端口转发选项更改此选项,但是您需要相应地在guest虚拟机上设置ssh服务器(因此,如果ssh守护程序没有监听,则转发端口80不会做太多事情)
使客户端从外部可见的另一种方法是使用公共网络配置 - 这样它就可以从网络上的DHCP服务器获取IP地址(就像连接新物理机一样),然后可以通过这个地址访问它。您可以使用以下命令在Vagrantfile中执行此操作:
config.vm.network "public_network"