【Vagrant】Windows11のVirtualBox上にCentOS環境を構築する


この記事はプロモーションを含みます。

Vagrant&VirtualBoxを使用して、Windows11上にCentOS環境を構築する方法を解説します。

環境

CentOS環境を構築する環境になります。
作業は、PowerShellを使用して進めていきます。

  • Windows 11 Pro (21H2)
  • VirtualBox (7.0)
  • Vagrant(2.3.4)

Windowsに、VirtualBoxやVagrantをインストールする方法は以下を参考にして下さい。

CentOSのインストール

Vagrantを使用して、CentOSのインストールを行います。

Vagrantの初期化

ここでは、Vagrantの初期化を行います。

まず、作業用のフォルダを作成します。
PowerShellを起動し、下記のコマンドを実行します。
今回は「C:\VM」に「Vagrant」を作成しました。
*ここで作成するフォルダ名は任意です。

PS C:\VM> mkdir Vagrant

カレントディレクトリを先ほど作成したフォルダに変更し、Vagrantの初期化を行います。

PS C:\VM\Vagrant> cd C:\VM\Vagrant
PS C:\VM\Vagrant> vagrant init
A `Vagrantfile` has been placed in this directory. You are now
ready to `vagrant up` your first virtual environment! Please read
the comments in the Vagrantfile as well as documentation on
`vagrantup.com` for more information on using Vagrant.

コマンドの実行後、フォルダ内に「Vagrantfile」が作成されていれば、初期化は完了です。

PS C:\VM\Vagrant> Get-ChildItem | ForEach-Object {$_.Name}
Vagrantfile

vagrantfileの修正

ここでは、前項で作成した「vagrantfile」を修正します。

vagrantfileとは、VirtualBoxにインストールするゲストOSや仮想マシンの設定を定義するファイルです。

まず、vagrantfileを開き、元から記述されている内容は全て削除します。
次に、下記の内容を全てコピペして下さい。

Vagrant.configure("2") do |config|
  config.vm.box = "centos/7"
  config.vm.network :private_network, ip: "192.168.66.101"
  config.vm.provider "virtualbox" do |vb|
    vb.name = "VG_CentOS_01"
    vb.gui = false
    vb.memory = "2048"
    vb.cpus = 2
  end
  config.vm.box_check_update = false
  config.ssh.private_key_path = "C:/VM/Vagrant/insecure_private_key"
  config.ssh.insert_key = false
end

5行目の「vb.name」は、VirtualBoxの仮想マシン名なので、任意の名称に変更しても大丈夫です。

仮想マシンの作成と起動

前項で作成したvagrantfileを元に、仮想マシンの作成と起動を行います。

実行するコマンドは「vagrant up」だけです。
コマンドの実行後、ターミナルに色々出力されますが、
これは、VagrantがCentOSのデータをダウンロードし、インストールを行っています。

PS C:\VM\Vagrant> vagrant up

特に「success」などは表示されず、ターミナルが操作出来るようになれば、起動しているようです。

以上で、仮想マシンの作成と起動は完了となります。

Vagrantの基本操作

ここでは、Vagrantを使用して、仮想マシンを操作する方法を説明します。

仮想マシンへの接続

Vagrant経由で仮想マシンにログインします。

今回作成した環境では、PowerShellから接続出来なかったので、
コマンドプロンプトから接続したところ、正常に接続出来ました。

下記のように「vagrant ssh」コマンドを実行することで、仮想マシンに接続することが出来ます。

C:\VM\Vagrant>vagrant ssh
Last login: Sat Dec 31 22:19:37 2022 from 192.168.123.123
[vagrant@localhost ~]$

コマンド実行時に「vagrant@127.0.0.1: Permission denied (publickey,gssapi-keyex,gssapi-with-mic).」エラーが発生する場合は、以下のコマンドを実行してから、再度「vagrant ssh」してみて下さい。

set VAGRANT_PREFER_SYSTEM_BIN=0

TeraTermで仮想マシンに接続する

ここでは、TeraTermから仮想マシンに接続する方法を説明します。

まず、TeraTermを起動し、接続情報を入力して「OK」ボタンをクリックします。
*初回接続時は、フィンガープリントの登録確認が表示される場合があるので「Continue」をクリックします。

  • Host:仮想マシンのIPアドレス
  • Port:22
  • Service:SSH(SSH2)

次に、ログイン情報を入力して「OK」をクリックします。

  • User name:ログインユーザー名(vagrantなど)
  • Passphrase:ログインユーザーに対応したパスワード

ここで重要なのが、「Authentication methods」にある「Use RSA/DSA/ECDSA/ED25519 key to log in」にチェックを付けて「Private key file」を選択します。
ここで選択するファイルは、WindowsにVagrantをインストールした時に自動で作成される「insecure_private_key」を指定する必要があります。
格納先は環境にもよりますが、下記になるかと思います。

・格納先:C:\Users\<ユーザー名>\.vagrant.d
・ファイル名:insecure_private_key

下記のように表示されれば、接続は完了となります。

WinSCPで仮想マシンに接続する

ここでは、FTPクライアントのWinSCPから仮想マシンに接続する方法を説明します。

まずは、WinSCPを起動し、接続情報を入力していきます。

  • 転送プロトコル:SFTP
  • ホスト名:仮想マシンのIPアドレス
  • ポート番号:22
  • ユーザ名:ログインユーザー名(vagrantなど)
  • パスワード:ログインユーザーに対応したパスワード

このままログインしても認証エラーが発生するので、追加で設定を行う必要があります。

まずは「設定」ボタンをクリックします。
左側のメニューより「SSH > 認証」を選択し、
右側の画面から「認証条件」にある「秘密鍵」の「…」をクリックします。
ファイルを選択するダイアログが表示されるので「insecure_private_key」を選択します。

ここで選択するファイルは、WindowsにVagrantをインストールした時に自動で作成される「insecure_private_key」を指定する必要があります。
格納先は環境にもよりますが、下記になるかと思います。

・格納先:C:\Users\<ユーザー名>\.vagrant.d
・ファイル名:insecure_private_key

「insecure_private_key」を選択すると、PuTTY形式に変換するかというダイアログが表示されるので「OK」をクリックします。
保存先を確認する画面が表示されるので、そのまま「はい」をクリックします。
保存が完了したというダイアログが表示されるので「OK」をクリックします。

その後、設定画面に戻るので「OK」をクリックします。
設定は以上なので「ログイン」をクリックし、接続出来れば作業は完了となります。

コメント

タイトルとURLをコピーしました