multipassのVMにsshで接続
はじめに
multipass shell
サブコマンドでmultipassで作成したVMにアクセスできますが、ホストから ssh したいケースもあります。
というわけでセットアップ手順のメモです。
sshの秘密鍵をコピー
Windows の WSL の場合。
install -m 600 /mnt/c/Windows/System32/config/systemprofile/AppData/Roaming/multipassd/ssh-keys/id_rsa ~/.ssh/multipass.id_rsa
macOSの場合。
sudo install -m 600 -o $USER -g $(id -g) /var/root/Library/Application\ Support/multipassd/ssh-keys/id_rsa ~/.ssh/multipass.id_rsa
~/.ssh/configにエントリ追加
~/.ssh/config に以下のようなエントリを追加します。ホスト名はお好みでIPアドレスはVMのアドレスに合わせます。
Host mp-primary
Hostname 192.0.2.2
User multipass
IdentityFile ~/.ssh/multipass.id_rsa
VirtualBoxではうまくいかず
VirtualBoxドライバを使っているmultipassの環境ではIPアドレスに10.0.2.15を指定して試してみたのですがつながりませんでした。 Vagrant で使っていた時もNATアダプターのインタフェースとは別にホストオンリーアダプターでネットワークインターフェースを作る必要があったのですが、multipassでの方法は検索してみましたがわかりませんでした。
Hyper-V なら上記の方法で問題なく使えました。私はHyper-Vのほうに移行しようとしているのでVirtualBoxのほうは深追いしません。