跳转至

Vagrant

官方站点

文档:https://developer.hashicorp.com/vagrant/docs

镜像仓库:https://portal.cloud.hashicorp.com/vagrant/discover

更改默认的 SSH 端口

Vagrant 默认转发宿主的 2222 端口到虚拟机的 22 端口(默认设置,无须配置)。

如果想要修改端口号或者去掉,解决办法是先禁用默认的 ssh 转发,再添加自定义转发:

config.vm.network "forwarded_port", guest: 22, host: 2222, id: "ssh", disabled: "true"
config.vm.network "forwarded_port", guest: 22, host: 3333

注意:第一条规则必须有 id: "ssh" ,否则会报如下错误:

Forwarded port ‘2222’ (host port) is declared multiple times with the protocol ‘tcp’.

重启后,即可看到转发端口已经更改为 3333。

启用 SSH 密码登录

以 Rocky Linux9 为例。

初始化虚拟机后,首次必须使用 ssh 私钥文件登录。

### 查看ssh私钥路径,将私钥文件导入到你的ssh连接工具后即可直接登录。
PS D:\opt\Vagrant\instance\rocky9> vagrant  ssh-config
Host default
  HostName 127.0.0.1
  User vagrant
  Port 20090
  UserKnownHostsFile /dev/null
  StrictHostKeyChecking no
  PasswordAuthentication no
  IdentityFile D:/opt/Vagrant/instance/rocky9/.vagrant/machines/default/vmware_desktop/private_key
  IdentitiesOnly yes
  LogLevel FATAL
  PubkeyAcceptedKeyTypes +ssh-rsa
  HostKeyAlgorithms +ssh-rsa

进入虚拟机内部后,开启 ssh 密码登录即可。官方 Rockylinux 的 Vagrant 镜像,用户和密码都是 vagrant。

sudo -i
vi /etc/ssh/sshd_config
###这两项配置改成yes
PermitRootLogin yes
PasswordAuthentication yes
###重启ssh服务
systemctl restart sshd

Snipaste_2024-11-26_14-56-21

VagrantVMware 插件修改

可能已过时,最新版本不在需要修改。

HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Services\\VagrantVMware
###ImagePath
C:\\HashiCorp\\VagrantVMwareUtility\\bin\\vagrant-vmware-utility.exe service run -config-file="C:\\programdata\\hashicorp\\vagrant-vmware-desktop\\config\\service.hcl" -log-file="C:\\programdata\\hashicorp\\vagrant-vmware-desktop\\logs/utility.log" -license-override professional