本記事の対象読者
- 『最短突破 LinuC レベル 1 バージョン 10.0 合格教本[101 試験, 102 試験対応] 改訂新版』の「学習用仮想環境のセットアップ」章の手順に従い環境構築を完了させた方
-
VBoxManage.exe
の存在する場所がC:\Program Files\Oracle\VirtualBox
の方
(別の場所の場合は適宜読み替えて下さい) - Windows ターミナル(Windows Terminal)をインストール済みの方
完成後イメージ
- Windows ターミナルのドロップダウンメニューに「Alma Linux1」と「Debian」の 2 つの項目を追加
(※アイコン部は本記事の対象外)
動作確認済バージョン
バージョン | |
---|---|
ホスト OS | Windows10 22H2 |
Oracle VM VirtualBox | 7.0.6 |
Windows Terminal | 1.20.11781.0 |
OpenSSH | 8.1 |
LibreSSL | 3.0.2 |
構築
バッチファイルの配置
@echo off
set Path=C:\Program Files\Oracle\VirtualBox;%Path%
set VM_NAME=%~1
set VM_USER=%~2
set VM_PORT=%~3
VBoxManage showvminfo "%VM_NAME%" --machinereadable | findstr /i "VMState=" | findstr /i "running" > nul
if %ERRORLEVEL% neq 0 (
VBoxManage startvm "%VM_NAME%" --type headless
)
chcp 65001 > nul
:userspecified
if "%VM_USER%"=="" (
set /p VM_USER=login:
goto userspecified
)
ssh -t "%VM_USER%@localhost" -p "%VM_PORT%"
上記の内容のバッチファイル2をremote-console.bat
のファイル名で、エクスプローラーのアドレスバーに%USERPROFILE%
と入力して Enter キーを押すと開く場所に保存して下さい。
VirtualBox 登録済の「Alma Linux」「Debian」の追加設定
"C:\Program Files\Oracle\VirtualBox\VBoxManage.exe" modifyvm "Alma Linux" --defaultfrontend headless --natpf2 "SSH,tcp,,2222,,22"
"C:\Program Files\Oracle\VirtualBox\VBoxManage.exe" modifyvm "Debian" --defaultfrontend headless --natpf2 "SSH,tcp,,22222,,22"
VirtualBox 登録済の「Alma Linux」「Debian」について、デフォルトの起動方法をヘッドレス起動とし、新たなポートフォワーディングルールを追加します。
Windows ターミナルにてプロファイル追加
- Windows ターミナル起動
- 「設定」タブ表示(
Ctrl+,
) - 左ペインの「新しいプロファイルを追加します」をクリック
- 右ペインの「新しい空のプロファイル」をクリック
-
名前を
Alma Linux
に設定 -
コマンド ラインを
"%USERPROFILE%\remote-console.bat" "Alma Linux" "testuser" "2222"
に設定3 - 下ペインの「保存」をクリック
- 左ペインの「新しいプロファイルを追加します」をクリック
- 右ペインの「新しい空のプロファイル」をクリック
-
名前を
Debian
に設定 -
コマンド ラインを
"%USERPROFILE%\remote-console.bat" "Debian" "testuser" "22222"
に設定 - 下ペインの「保存」をクリック
- ドロップダウンメニューに「Alma Linux」「Debian」が追加されていることを確認
SSH 接続の確立
Windows ターミナルのドロップダウンメニューから「Alma Linux」をクリックすると新たなタブが追加され、下記の様な入力待ち状態になります。(******
の部分は公開鍵のハッシュ値)
Waiting for VM "Alma Linux" to power on...
VM "Alma Linux" has been successfully started.
The authenticity of host '[localhost]:2222 ([127.0.0.1]:2222)' can't be established.
ECDSA key fingerprint is SHA256: ******
Are you sure you want to continue connecting (yes/no/[fingerprint])?
yes
と入力し、Enter キー押して下さい。自動的に"%USERPROFILE%\.ssh\known_hosts"
ファイルに公開鍵が登録され、下記の様に表示されます。
Waiting for VM "Alma Linux" to power on...
VM "Alma Linux" has been successfully started.
The authenticity of host '[localhost]:2222 ([127.0.0.1]:2222)' can't be established.
ECDSA key fingerprint is SHA256: ******
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Warning: Permanently added '[localhost]:2222' (ECDSA) to the list of known hosts.
Connection reset by 127.0.0.1 port 2222
下記の表示の際は、Enter キーを押して下さい。
[プロセスはコード 255 (0x000000ff) で終了しました]
このターミナルを Ctrl+D で閉じるか、Enter キーを押して再起動できます。
下記の様なパスワード入力待ち状態になった際は、パスワードを入力してログインし、root ユーザーに切り替えた上でshutdown -h now
コマンドでゲスト OS をシャットダウンして下さい。
testuser@localhost's password:
ゲスト OS のシャットダウン処理後、下記の表示になったらCtrl+D
で閉じて下さい。(Enter キーを押すとゲスト OS が再起動します)
[プロセスはコード 255 (0x000000ff) で終了しました]
このターミナルを Ctrl+D で閉じるか、Enter キーを押して再起動できます。
「Debian」についても、上記同様の処理を行って下さい。
動作確認
Windows ターミナルのドロップダウンメニューから「Alma Linux」をクリックすると新たなタブが追加され、ゲスト OS が起動し、下記の様なパスワード入力待ち状態になります。
Waiting for VM "Alma Linux" to power on...
VM "Alma Linux" has been successfully started.
testuser@localhost's password:
正しく構築されました。
(〃^∇^)o お疲れさま~
余談
Alma Linux の GUI モードをオフにする
root ユーザーに切り替えてsystemctl set-default multi-user.target
を実行
Alma Linux で Web サーバー起動
参考
VirtualBox 登録済の「Alma Linux」への更なる追加設定
"C:\Program Files\Oracle\VirtualBox\VBoxManage.exe" modifyvm "Alma Linux" --natpf2 "HTTP,tcp,,50080,,80"
VirtualBox 登録済の「Alma Linux」について、新たなポートフォワーディングルールを追加します。
Web サーバー起動
Alma Linux を起動し、root ユーザーに切り替え、下記のコマンドを順次実行します。
# systemctl start firewalld
# firewall-cmd --add-service=http
# systemctl start httpd
ホスト OS のブラウザで閲覧
ホスト OS のブラウザのアドレスバーにhttp://localhost:50080
と入力し Enter キーを押すと、AlmaLinux Test Page が表示されます。但し、ゲスト OS に/var/www/html/index.html
が存在する場合は、そのファイルの中身が表示されます。