我正在做一个计算机视觉项目,我在 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 中运行。
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'
没关系,我是个白痴。在 ubuntu 中安装了 openssh 并能够访问 vagrant。