vagrantで仮想マシンを構築している場合、
vagrant sshコマンドで便利にssh接続できるが
sshコマンドで接続したいケースを想定してsshの接続設定をする

  • ホストオンリーネットワークの設定

    Vagrantfileに以下の設定を加えてIPを設定する

    # V1形式
    config.vm.network :hostonly , "192.168.50.12"
    # v2形式
    config.vm.network :private_network , ip: "192.168.50.12"
    

    この状態でホストOSからとりあえずつないでみる

    ssh vagrant@192.168.50.12 -i ~/.vagrant.d/insecure_private_key
    

    無事接続できればOK

  • ホスト側のssh設定

    毎回上記のsshコマンドを打つのはだるいので設定を追加
    具体的には~/.ssh/configに設定を追加するだけだけど
    vagrant ssh-configコマンドを使うと接続設定を吐き出してくれるので

    vagrant ssh-config >> ~/.ssh/config
    # ホスト名を指定する場合は
    vagrant ssh-config --host hogehoge >> ~/.ssh/config
    

    としてやればOK

    デフォルトではhostname:127.0.0.1でport:2222になっているので
    hostnameとportを変更しておく

    $ vim ./.ssh/config
    # hsotnameとportを変更
    Host hogehoge
      HostName 192.168.50.12
      User vagrant
      Port 22
      UserKnownHostsFile /dev/null
      StrictHostKeyChecking no
      PasswordAuthentication no
      IdentityFile /Users/xxxx/.vagrant.d/insecure_private_key
      IdentitiesOnly yes
      LogLevel FATAL
    

    以下のようなsshコマンドで接続できればOK

    ssh hogehoge
    

    以上です