Vagrantを使った開発用仮想環境に、VSCodeのリモート開発でSSH接続するのに、Vagrantの秘密鍵を使用することができます。 この設定方法についてのメモ
Vagrantで使用されているSSH鍵の確認
Vagrantでは、仮想環境にアクセスするときに使用する秘密鍵の情報は、対象のVagrant用ディレクトリに移動して vagrant ssh-config コマンドを実行すると確認できます。 Windowsの場合、対象のVagrant用ディレクトリに移動して、コマンドを実行すると以下のようになります。
D:\> cd D:\vagrant\cento7 D:\vagrant\cento7> vagrant ssh-config Host default HostName 127.0.0.1 User vagrant Port 2222 UserKnownHostsFile /dev/null StrictHostKeyChecking no PasswordAuthentication no IdentityFile D:/vagrant/centos7/.vagrant/machines/default/virtualbox/private_key IdentitiesOnly yes LogLevel FATAL
Windows10の設定
Windows10の場合、ログインユーザーのホームディレクトリの、.sshディレクトリで作業します。 ユーザー名がmikanの場合、デフォルトのホームディレクトリは、以下になります。
C:\Users\mikanこの場合、対象ディレクトリは、以下になります。
C:\Users\mikan\.ssh
Vagrantの設定をコピーして設定する
VSCodeのリモート開発用設定の場合、vagrant ssh-config の情報を.ssh/configにコピーする方法があります。 vagrant ssh-configの出力が以下の場合、
D:\vagrant\cento7> vagrant ssh-config Host default HostName 127.0.0.1 User vagrant Port 2222 UserKnownHostsFile /dev/null StrictHostKeyChecking no PasswordAuthentication no IdentityFile D:/vagrant/centos7/.vagrant/machines/default/virtualbox/private_key IdentitiesOnly yes LogLevel FATALこのの設定を [ホームディレクトリ]\.ssh\config にコピーします。 その後、Hostの接続先名を分かりやすい名前などに変更します。
Host vrc7
HostName 127.0.0.1
User vagrant
Port 2222
UserKnownHostsFile /dev/null
StrictHostKeyChecking no
PasswordAuthentication no
IdentityFile D:/vagrant/centos7/.vagrant/machines/default/virtualbox/private_key
IdentitiesOnly yes
LogLevel FATAL
上記の変更箇所は、赤色の部分で、リモート接続するときに指定する接続先名になります。
上記では、"vrc7" にしています。