跳至主要內容

SSH连接虚拟机

LincZero小于 1 分钟

SSH连接虚拟机

秘钥连接

秘钥位置

Vagrant会为每个虚拟机都生产一对密钥,这个存放在当前的 .vagrant 目录下

.vagrant

machines/default/virtualbox

action_provision

action_set_name

box_meta

creator_uid

disk_meta

id

index_uuid

private_key

这里就是秘钥对

synced_folders

vagrant_cwd

手动使用秘钥连接SSH

可以使用这个秘钥免密连接SSH

ssh vagrant@localhost -p 2200 -i .vagrant/machines/default/virtualbox/private_key

允许账密连接

echo "==> Enable ssh password authentication"
sed -i 's/^PassworkAuthentication .*PasswordAuthentication yes/' /etc/ssh/sshd_config
systemctl reload sshd

Windows下的问题

SSH假死或报错

An error occurred in the underlying SSH library that Vagrant uses.
The error message is shown below. In many cases, errors from this
library are caused by ssh-agent issues. Try disabling your SSH
agent or removing some keys and try again.

If the problem persists, please report a bug to the net-ssh project.

在Windows下,ssh可能会报错或者假死,通常第一次创建虚拟机时会出现。

出现这种情况,在virtualbox界面删除虚拟机,重新创建虚拟机即可。

与Docker Desktop有冲突

还有一种情况,Vagrant可能会与Docker Desktop有冲突,需要先卸载Docker Desktop,虚拟机创建完成后,再安装Docker Desktop。