KubuntuにVirtualBoxをインストールしたりSSH接続したり

こんにちは
株式会社クラスアクト インフラストラクチャ事業部の大塚です。

以前、Win11にアップグレード出来ないWin10 PCにKubuntu24.04をぶっこんで引き続き利用できるようにして、更にRDP接続を可能にしたり、Sambaを入れてWin11やAndroidとファイル共有出来るようにしました。
以下がその記事となります。

https://qiita.com/ohtsuka-shota/items/1ddbfc3cb85f1edb9ec8

https://qiita.com/ohtsuka-shota/items/44e5823219a22a14bfe8

https://qiita.com/ohtsuka-shota/items/bbee3e01ae549a06e31d

このPCは現在、上記の通りファイル共有サーバ兼ごろ寝PCとして絶賛自宅で活躍してくれており、非常に満足しているところではあるのですが、電源ほぼつけっぱなしのこのPCにそれだけの役割しか与えないのはちょっと勿体ないなと思ったり思わなかったり。。。

そこで、このPCに対してVirtualBoxをインストールして、VMの基盤としても働いてもらおうと思います。ついでに、SSH接続ができない状態だったのでそこも設定を入れ込んでいきたいと思います。

# VirtualBoxをインストールする
Kubuntuとは言っても、Ubuntu24.04にVirtualBoxを入れるのとさして違いはないと思います。
また、基本的に以下の公式サイトの手順を読んでいけば、そこまで問題は無いように思います。

https://www.virtualbox.org/wiki/Linux_Downloads

まず/etc/apt/sources.list.d/にリポジトリ情報を追加していきます。
リポジトリのファイルが作成されていることをlsコマンドで一応確認しておきます。
```
shota@shota-20f5a2v5jp:~$ sudo su -
[sudo] shota のパスワード:  
root@shota-20f5a2v5jp:~# echo "deb [arch=amd64 signed-by=/usr/share/keyrings/orac
le-virtualbox-2016.gpg] https://download.virtualbox.org/virtualbox/debian noble c
ontrib" | sudo tee /etc/apt/sources.list.d/virtualbox.list
deb [arch=amd64 signed-by=/usr/share/keyrings/oracle-virtualbox-2016.gpg] https:/
/download.virtualbox.org/virtualbox/debian noble contrib

root@shota-20f5a2v5jp:~# ls /etc/apt/sources.list.d/
docker.list                            notion-repackaged.list  virtualbox.list
mc3man-ubuntu-mpv-tests-noble.sources  ubuntu.sources
```

次に以下のコマンドでGPGキーを取得します。
```
root@shota-20f5a2v5jp:~# wget -q https://www.virtualbox.org/download/oracle_vbox_
2016.asc -O- | sudo gpg --dearmor -o /usr/share/keyrings/oracle-virtualbox-2016.g
pg
```

aptのアップデートを行っていきます。
アップデートが終わったら、VirtualBoxをインストールしていきます。
この記事を書いている2025年1月18日現在、7.1が最新版でしたのでこちらをインストールしました。
```
root@shota-20f5a2v5jp:~# apt update && apt upgrade -y
root@shota-20f5a2v5jp:~# apt install virtualbox-7.1
```
インストール後、VirtualBoxが使えるようになるのですが、私の環境ではVMを立ち上げようとすると以下のようなエラーが表示されました。
これはどうも、VirtualBoxのモジュールがインストールorロードされていないことが原因の様であります。
![Screenshot_20250118_093508.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3219385/19e0e540-01bb-2734-c096-253224bf043e.png)
これが表示されてしまった場合は以下のコマンドを実行してロードできることを確認します。
私の環境ではダメでした。SecureBootがお邪魔をしているようです。
```
root@shota-20f5a2v5jp:~# apt install -y build-essential dkms linux-headers-$(uname -r)
root@shota-20f5a2v5jp:~# modprobe vboxdrv
modprobe: ERROR: could not insert 'vboxdrv': Key was rejected by service
```
この課題を解消していきます。
色々方法はあるようなのですが、今回はSecureBoot自体を無効にしていきたいと思います。
Kubuntuを再起動して、再起動中にF1キーを連打してBIOS画面にアクセスします。
BIOS画面にアクセス後、Securityタブ内のSecure Bootを押下します。
![PXL_20250118_004613877.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3219385/b5143ed2-8d85-96c4-3137-3de7c1be9a5e.png)


画面が変わり、以下のような設定を見ることが出来ました。
Secure BootがEnabledとなっているのが今回モジュールがロードできていない理由でした。
![PXL_20250118_004620817.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3219385/84c33cd8-8084-656d-5718-c22b3217e431.png)
これをDisabledとしました。
![PXL_20250118_004627001.MP.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3219385/cb5924c7-3adb-bf10-8da4-90b0af6394c6.png)
この状態で改めてモジュールがロード出来ているかを確認します。
エラーが出なければOKです。
```
shota@shota-20f5a2v5jp:~$ sudo su  -
[sudo] shota のパスワード: 
root@shota-20f5a2v5jp:~# modprobe vboxdrv
```
改めてVMに電源を投入してみます。
今度こそ起動できました。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3219385/83469f95-d799-bb0f-9220-d6509193ebdf.png)

# KubuntuにSSH出来るようにする
これもVirtualBoxと同様で基本Ubuntuと同じだと思って頂いて差し支えないです。
私の環境はufwは稼働してませんし、SSHのポートもデフォルトで良いので、以下で出来るようになりました。
```
shota@shota-20f5a2v5jp:~$ sudo su -
[sudo] shota のパスワード: 
root@shota-20f5a2v5jp:~# apt install -y openssh-server
root@shota-20f5a2v5jp:~# systemctl enable ssh
Synchronizing state of ssh.service with SysV service script with /usr/lib/systemd/systemd-sysv-install.
Executing: /usr/lib/systemd/systemd-sysv-install enable ssh
Created symlink /etc/systemd/system/sshd.service → /usr/lib/systemd/system/ssh.service.
Created symlink /etc/systemd/system/multi-user.target.wants/ssh.service → /usr/lib/systemd/system/ssh.service.
root@shota-20f5a2v5jp:~# systemctl status ssh
○ ssh.service - OpenBSD Secure Shell server
     Loaded: loaded (/usr/lib/systemd/system/ssh.service; enabled; preset: enabled)
     Active: inactive (dead)
TriggeredBy: ● ssh.socket
       Docs: man:sshd(8)
             man:sshd_config(5)
```
Win11からKubuntuにSSHします。
Teratermを使ってみたところ問題ありませんでした。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3219385/91fe202f-ef4a-6276-74d9-314ac48f18b2.png)
![image02.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3219385/806bf3bc-cbd5-9538-5f26-ad210755cd35.png)

# VitualBoxのコマンドを試してみる
Kubutuにインストール済みのVirtualBoxをGUIではなく、CUIで操作してみたいと思います。
GUIで操作するのも良いのですが、こちらの方が玄人っぽいですね（白目）
簡単な感想ですが、VirtualBoxをコマンドで操作したことなかったので少しだけ新鮮でした。また、他の仮想化基盤と印象はそこまで違わないんじゃないかなと思います
```
稼働しているVM一覧を出力
shota@shota-20f5a2v5jp:~$ VBoxManage list runningvms
"kali-linux-2024.4-virtualbox-amd64" {c9d5399e-9c50-4a58-8f32-7ccdaa832e5d}

指定したVMを停止
shota@shota-20f5a2v5jp:~$ VBoxManage controlvm kali-linux-2024.4-virtualbox-amd64 poweroff
0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%
shota@shota-20f5a2v5jp:~$ VBoxManage list runningvms

非稼働なVM一覧を出力
shota@shota-20f5a2v5jp:~$ VBoxManage list vms
"kali-linux-2024.4-virtualbox-amd64" {c9d5399e-9c50-4a58-8f32-7ccdaa832e5d}

停止しているVMを起動
shota@shota-20f5a2v5jp:~$ VBoxManage startvm kali-linux-2024.4-virtualbox-amd64 --type headless
Waiting for VM "kali-linux-2024.4-virtualbox-amd64" to power on...
VM "kali-linux-2024.4-virtualbox-amd64" has been successfully started.

起動しているか確認
shota@shota-20f5a2v5jp:~$ VBoxManage list runningvms
"kali-linux-2024.4-virtualbox-amd64" {c9d5399e-9c50-4a58-8f32-7ccdaa832e5d}
```