Vagrantで仮想環境を同時に2台立ち上げる

Vagrantで同時に2台立ち上げてssh接続しようとしたら少し設定しないといけなかったのでメモ。

1台目がこんな感じで192.168.33.10で立ち上がっているとします。

config.vm.network "private_network", ip: "192.168.33.10"

この時、2台目をIPアドレスとsshのフォワードするポートを被らないように設定する。

config.vm.network "private_network", ip: "192.168.33.15"
config.vm.network :forwarded_port, id: "ssh", guest: 22, host: 2223
config.ssh.port = 2223

これで、2223番ポートでssh接続できるようになったので、あとはssh設定を~/.ssh/configに追記するだけで完了です。それぞれのVagrantファイルがあるところでhostnameに好きなのを指定して、

vagrant ssh-config --host hostname >> ~/.ssh/config

を実行するとこんな感じのが追記される

Host hostname
  HostName 127.0.0.1
  User vagrant
  Port 2223
  UserKnownHostsFile /dev/null
  StrictHostKeyChecking no
  PasswordAuthentication no
  IdentityFile /Users/username/.vagrant.d/insecure_private_key
  IdentitiesOnly yes
  LogLevel FATAL

あとはssh hostnameで接続できればOK