vagrantでは、vagrant ssh
コマンドでVM内にsshログインすることができます。
通常はこれで良いのですが、セットアップスクリプトなどの都合で、sshコマンドを使ってログインする必要がある時もあります。
このような場合、vagrantではvagrant ssh-config
コマンドでssh接続に関する情報を表示できます。
出力結果のうちIdentityFileと書いてある行がssh認証のキーファイル名なので、これを取得すれば非対話でsshログインすることができます。
cd path/to/vagrant-dir
# sshログインするためのキーファイル名を表示
echo `vagrant ssh-config | grep IdentityFile | sed "s/.*IdentityFile *//g"`
# キーファイル名をbashの変数にセット
export sshfilename=`vagrant ssh-config | grep IdentityFile | sed "s/.*IdentityFile *//g"`
# ssh login
ssh x.x.x.x -i $sshfilename
こちらもおススメ