无法通过 SSH 连接到 Vagrant VM(不使用 vagrant ssh)第 2 部分
Can't SSH into Vagrant VM (without using vagrant ssh) part 2
这是 的后续问题。我使用了相同的 Vagrantfile,但注释掉了我认为没有必要的两行。
我试图在不使用 vagrant ssh
的情况下通过 ssh 进入我的 Vagrant 盒子。下面是我的 Vagrantfile 和 ssh 配置信息:
流浪文件:
Vagrant.configure(2) do |config|
config.vm.provider "virtualbox" do |v|
v.memory = 6144
v.cpus = 2
v.name = "mb_vagrant"
end
config.vm.box = "ubuntu/trusty64"
config.vm.network :private_network, ip: "192.168.33.10"
config.ssh.forward_agent = true
# config.vm.provision :shell, path: "bootstrap.sh"
# config.vm.network :forwarded_port, host: 8001, guest: 8001
end
vagrant ssh-config
的输出:
Host default
HostName 127.0.0.1
User vagrant
Port 2222
UserKnownHostsFile /dev/null
StrictHostKeyChecking no
PasswordAuthentication no
IdentityFile "/Users/mbigras/Google Drive/tmp/chef-repo/.vagrant/machines/default/virtualbox/private_key"
IdentitiesOnly yes
LogLevel FATAL
ForwardAgent yes
我已经尝试 ssh
使用以下命令进入我的机器:
$ ssh -i "/Users/mbigras/Google Drive/tmp/chef-repo/.vagrant/machines/default/virtualbox/private_key" -p 2222 vagrant@192.168.33.10
ssh: connect to host 192.168.33.10 port 2222: Connection refused
此外,根据 中描述的解决方案,我尝试在尝试连接之前删除 ~/.ssh/known_hosts
;但是,它也不起作用:
$ rm ~/.ssh/known_hosts
$ ssh -i "/Users/mbigras/Google Drive/tmp/chef-repo/.vagrant/machines/default/virtualbox/private_key" -p 2222 vagrant@192.168.33.10
ssh: connect to host 192.168.33.10 port 2222: Connection refused
我在这里错过了什么?
Ssh 服务绑定到主机(即:127.0.0.1)端口 2222,但在 VM(来宾机器)中仍在侦听端口 22(作为默认端口)。
因此,您应该连接到 192.168.33.10 上的端口 22 或 上的 2222 127.0.0.1。即:
$ ssh -i "<vagranfile-path>/.vagrant/machines/default/virtualbox/private_key" \
-p 22 vagrant@192.168.33.10
或
$ ssh -i "<vagranfile-path>/.vagrant/machines/default/virtualbox/private_key" \
-p 2222 vagrant@127.0.0.1
此外,不需要删除 ~/.ssh/known_hosts
文件。添加以下选项将避免主机指纹检查:-o UserKnownHostsFile=/dev/null
这是
我试图在不使用 vagrant ssh
的情况下通过 ssh 进入我的 Vagrant 盒子。下面是我的 Vagrantfile 和 ssh 配置信息:
流浪文件:
Vagrant.configure(2) do |config|
config.vm.provider "virtualbox" do |v|
v.memory = 6144
v.cpus = 2
v.name = "mb_vagrant"
end
config.vm.box = "ubuntu/trusty64"
config.vm.network :private_network, ip: "192.168.33.10"
config.ssh.forward_agent = true
# config.vm.provision :shell, path: "bootstrap.sh"
# config.vm.network :forwarded_port, host: 8001, guest: 8001
end
vagrant ssh-config
的输出:
Host default
HostName 127.0.0.1
User vagrant
Port 2222
UserKnownHostsFile /dev/null
StrictHostKeyChecking no
PasswordAuthentication no
IdentityFile "/Users/mbigras/Google Drive/tmp/chef-repo/.vagrant/machines/default/virtualbox/private_key"
IdentitiesOnly yes
LogLevel FATAL
ForwardAgent yes
我已经尝试 ssh
使用以下命令进入我的机器:
$ ssh -i "/Users/mbigras/Google Drive/tmp/chef-repo/.vagrant/machines/default/virtualbox/private_key" -p 2222 vagrant@192.168.33.10
ssh: connect to host 192.168.33.10 port 2222: Connection refused
此外,根据 ~/.ssh/known_hosts
;但是,它也不起作用:
$ rm ~/.ssh/known_hosts
$ ssh -i "/Users/mbigras/Google Drive/tmp/chef-repo/.vagrant/machines/default/virtualbox/private_key" -p 2222 vagrant@192.168.33.10
ssh: connect to host 192.168.33.10 port 2222: Connection refused
我在这里错过了什么?
Ssh 服务绑定到主机(即:127.0.0.1)端口 2222,但在 VM(来宾机器)中仍在侦听端口 22(作为默认端口)。 因此,您应该连接到 192.168.33.10 上的端口 22 或 上的 2222 127.0.0.1。即:
$ ssh -i "<vagranfile-path>/.vagrant/machines/default/virtualbox/private_key" \
-p 22 vagrant@192.168.33.10
或
$ ssh -i "<vagranfile-path>/.vagrant/machines/default/virtualbox/private_key" \
-p 2222 vagrant@127.0.0.1
此外,不需要删除 ~/.ssh/known_hosts
文件。添加以下选项将避免主机指纹检查:-o UserKnownHostsFile=/dev/null