Windows上でVagrantfileの config.ssh.insert_key
を変更した時の挙動を整理しました。
一覧まとめ
設定値 | .\.vagrant\machines\default\virtualbox\private_key |
Git BashからのSSH | Git Bash以外からのSSH |
---|---|---|---|
true(規定値) | 作られる | できる | できない(※1) |
false | 作られない | できる | できる |
補足
config.ssh.insert_key=true
の場合に、Git Bash以外からSSH接続できない問題の回避方法
.\.vagrant\machines\default\virtualbox\private_key
について、以下のように権限をログインユーザーの読取可のみに限定することで、Git Bash以外からのSSHもできるようになりました。
- エクスプローラーからファイルのプロパティを選択
- 「セキュリティ」タブの「詳細設定」を選択
- 「継承の無効化」をクリック → 「このオブジェクトから継承されたアクセス許可をすべて削除します。」を選択
- 「追加」をクリック
- 「プリンシパルの選択」をクリック
- 「選択するオブジェクト名を入力してください」にログインユーザー名を入力 → 「名前の確認」をクリック → 「OK」をクリック
- 「基本のアクセス許可」で「読み取り」のみOnにして「OK」をクリック
- 「private_key のセキュリティの詳細設定」で「OK」をクリック
- 「private_key のプロパティ」で「OK」をクリック
- コマンドプロンプト(管理者権限)からコマンドで実行する場合
icacls .\.vagrant\machines\default\virtualbox\private_key /inheritancelevel:r /grant:r <ユーザー名>:R
別のパスに秘密鍵をコピー等し、そちらを参照する場合は、vagrant ssh -- -i "<秘密鍵のパス>"
でログインできます。