VagrantでCentOS8を構築してSSH接続する

プログラミング

Windows10にVagarantでCentOS8の仮想環境を構築します。構築した仮想環境にターミナルでSSHで接続できることを確認します。

必要なアプリケーション

必要なアプリケーションは次の通りです。

  • VirtualBox
  • Vagrant
  • ターミナルソフト

VirtualBoxのインストール

公式サイトhttps://www.virtualbox.org/wiki/DownloadsからVirtualBoxをダウンロードします。「Windows hosts」のリンクを押下することでWindows用のインストーラがダウンロードできます。インストーラを起動後、特に変更することなく次へを何度か選択してインストールを完了させます。

Vagrantのインストール

公式サイトhttps://www.vagrantup.com/downloads.htmlからVagrantをダウンロードします。OSを選択後に「Download」ボタンを押下することでインストーラがダウンロードできます。インストーラを起動後、特に変更することなく次へを何度か選択してインストールを完了させます。
コマンドプロンプトで以下のように表示できればインストール完了です。

C:¥>vagrant -v
Vagrant 2.2.9

CentOS8のボックスを取得

VagrantでCentOS8の仮想環境を立ち上げるために、CentOS8のボックスを追加します。コマンドプロンプトで以下のコマンドを実行します。プロバイダー選択するのでEnter your choiceにはvirtualboxの5を入力してEnterキーを押下します。
※追加には結構時間がかかります。
公式のボックス:https://app.vagrantup.com/boxes/search

C:¥>vagrant box add generic/centos8
==> box: Loading metadata for box 'generic/centos8'
    box: URL: https://vagrantcloud.com/generic/centos8
This box can work with multiple providers! The providers that it
can work with are listed below. Please review the list and choose
the provider you will be working with.

1) docker
2) hyperv
3) libvirt
4) parallels
5) virtualbox
6) vmware_desktop
Enter your choice: 5

Vagrantにボックスが追加されているか確認します。

C:¥>vagrant box list
generic/centos7    (virtualbox, 3.0.12)

Vagrantfileの作成

追加したボックスで仮想環境を作るためのVagrantfileを作成します。

C:¥>mkdir vagrant
C:¥>cd vagrant
C:¥vagran>mkdir centos8
C:¥vagran>cd centos8
C:¥vagran¥centos8> mkdir share
C:¥vagran¥centos8>vagrant init generic/centos8

Vagrantfileの編集

C:¥vagran¥centos8¥Vagrantfileが作成されたので、必要な箇所を編集します。

# 37行目あたりの下記のコメントアウトを外してIDアドレスを変更します。
# 【修正前】
# config.vm.network "private_network", ip: "192.168.33.10"
# 【修正後】
config.vm.network "private_network", ip: "192.168.33.13"

# 46行目あたりの下記コードを修正します。
# 左がWindowsで右がCentOS8の共有フォルダになります。
# 【修正前】
# config.vm.synced_folder "../data", "/vagrant_data"
# 【修正後】
config.vm.synced_folder "./share", "/share"

CentOS8を起動してSSH接続

vagrantfileを編集し終えたらCentOS8を起動します。

C:¥vagran¥centos8>vagrant up

起動後にターミナルソフト(teraterm)でログインします。
ホスト:192.168.33.13
ポート:22
サービス:SSH2

ユーザ名を「vagrant」秘密鍵に「C:\vagrant\centos8.vagrant\machines\default\virtualbox\private_key」を設定してOKボタンを押下で接続が完了します。

rootユーザのパスワード変更方法

[vagrant@centos8 ssh]$ sudo su
[root@centos8 ssh]#passwd
New password:
Retype new password: 
passwd: all authentication tokens updated successfully.

SSHにパスフレーズで接続する方法

# sshの設定を変更する
[root@centos8 ssh]# vi /etc/ssh/sshd_config
# 73行目あたりの以下を「no」から「yes」に変える
# 【変更前】
PasswordAuthentication no
# 【変更後】
PasswordAuthentication yes

# 反映させる
[root@centos8 ssh]# systemctl restart sshd

別のターミナルソフト(Poderosa)でパスフレーズで接続してみます。

pocketcode

30代のWEB系企業エンジニアです。毎回同じようなことを検索してしまうので、自分の備忘録的に書いています。サイトのデザインはQiita(https://qiita.com)さんに寄せています。