vagrantにsshコマンドでログインする時、SSHのKeyファイル名を非対話で取得する

カテゴリ: Vagrant

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
こちらもおススメ

コメントを残す

メールアドレスが公開されることはありません。