Note

3年後の自分のために書いています

vagrant ssh したときに裏側で何が起こっているか

結論

以下と同義。

$ ssh vagrant@127.0.0.1 -p 2222 -i ~/vagrant/ubuntu-xx/.vagrant/machines/default/virtualbox/private_key

$ vagrant ssh --debug すると最後の方に INFO ssh: Invoking SSH: ... から続くログが出るのでそれを確認すれば分かる。

補足

vagrant のコードリーディングもちょっとした。

上記のログを出してるのは以下。この lib/vagrant/util/ssh.rbssh 接続の実装の詳細が書かれてるファイルだろう。

https://github.com/hashicorp/vagrant/blob/v2.2.10/lib/vagrant/util/ssh.rb#L225

👆 の Util::SSH.exec が以下で呼ばれてる。

https://github.com/hashicorp/vagrant/blob/v2.2.10/lib/vagrant/action/builtin/ssh_run.rb#L73

👆 の SSHRun クラスを呼んでるのは以下。

https://github.com/hashicorp/vagrant/blob/v2.2.10/plugins/commands/ssh/command.rb#L54-L57