在 Windows 11 主机上的 VirtualBox 上的 Ubuntu 20.04 VM 上运行 Vagrant VM,需要从 Windows 11 通过 SSH 访问 vagrant

在 Windows 11 主机上的 VirtualBox 上的 Ubuntu 20.04 VM 上运行 Vagrant VM,需要从 Windows 11 通过 SSH 访问 vagrant

我正在做一个计算机视觉项目,我在 Windows 11 主机上的 VirtualBox 上的 Ubuntu 20.04 VM 上安装了 Vagrant VM。我想将 Windows 11 主机用于 CV,因为它需要大量的处理能力,并且使用 SSH 与当前在 vagrant 中运行的 python 应用程序进行通信,因为它不是一个非常耗费资源的应用程序。

我在虚拟盒中转发了一个端口(8000 -> 8000)来访问我需要的应用程序的 Web 界面,并且我可以从 Windows 11 上的 Firefox 浏览器访问它。

当我尝试通过 ssh 进入 vagrant (2222->2222) 时,问题出现了,putty 给出了一个连接被拒绝的错误,windows cmd 给出了“kex_exchange_identification: read: Connection aborted”

我尝试过获取私钥,尝试过所有我能找到的 ssh 命令,但就是不起作用。在 Ubuntu 中,我只需输入“vagrant ssh”,它就会立即连接到 ssh。

我是否遗漏了什么?

我通常使用 WSL2 在 Linux 中编程,但我的特定应用程序要求它在 ubuntu 中的 vagrant 中运行。

转发端口

vagrant ssh-配置

  config.vm.box = "generic/ubuntu2010"

  # Publically forwarded ports.
  # The below ports are accessible to all machines on the same network.
  # To limit access to the local network, add "host_ip".
  config.vm.network "private_network", type: "dhcp"
  # Eg: config.vm.network "forwarded_port", guest: 80, host: 8080, host_ip: "127.0.0.1"
  config.vm.network "forwarded_port", guest: 8000, host: 8000 # Web App
  config.vm.network "forwarded_port", guest: 9000, host: 9000 # Remote server
  #config.vm.network "forwarded_port", guest: 2222, host: 2222 # Remote server #<--this is commented because it didn't work, and vagrant's startup already specifies that it's forwarding port 22 to port 2222.
  #config.vm.network "private_network", type: "dhcp" #<-- so is this
  config.ssh.username = 'vagrant'
  config.ssh.password = 'test'
  config.ssh.insert_key = 'false' 

Vagrant 的创业

没关系,我是个白痴。在 ubuntu 中安装了 openssh 并能够访问 vagrant。

相关内容