如何设置 vagrants 主机 SSH 端口

How to set vagrants host SSH port

我在生产环境中有多个由 vagrant 管理的虚拟机。我喜欢手动设置它们的 SSH 主机端口,而我必须在 iptables 中打开每个端口。 Vagrant 默认手动管理这些端口转发,这迫使我打开一系列我不想打开的端口。

我已经尝试过端口转发,但最终将两个端口转发给来宾。

config.vm.network "forwarded_port", id: "a-named-ssh-forwarding", host: 54321, guest: 22

问题是我在 vagrant SSH 配置部分看不到任何选项。显然我只能设置来宾 SSH 端口。

Vagrant SSH settings

是否可以设置转发的主机 SSH 端口?如果可以,如何设置?

解决方法太简单了。

Overriding the Default Forwarded SSH Port in Vagrant

只需将转发端口的ID重命名为ssh即可。

config.vm.network "forwarded_port", id: "ssh", host: 54321, guest: 22

这实际上消除了通过读取列表来识别到特定 VM 的 ssh 转发的可能性。但对于增强系统的安全性来说,这是一个低廉的价格。