仮想開発環境の構築トップページ


CentOS の基本設定

これまでの作業で CentOS の仮想マシンがインストールできたので,CentOS を利用する準備ができました.しかし,ログインには秘密鍵が必要で,ID とパスワードだけではまだログインできません.ここでは,ID とパスワードでもログインできるように設定するとともに,CentOS のアップデートも行います.

仮想マシンを起動する

コマンドプロンプトから,vagrant status コマンドで仮想マシンが起動していることを確認する.まだ起動していなければ vagrant upで起動する.

C:\Users\Rinsaka\MyVagrant\MyCentOS>vagrant status ⏎
Current machine states:

default                   running (virtualbox)

The VM is running. To stop this VM, you can run `vagrant halt` to
shut it down forcefully, or you can run `vagrant suspend` to simply
suspend the virtual machine. In either case, to restart it again,
simply run `vagrant up`.

C:\Users\Rinsaka\MyVagrant\MyCentOS>

秘密鍵でログインする

CentOS 7系では,デフォルトで秘密鍵を使ってログインする設定になっている.秘密鍵を使ってログインするには,コマンドプロンプトで Vagrantfile のあるディレクトリで vagrant ssh コマンドを使えば良い.このときログインにパスワードを必要としないことに注意しよう.

C:\Users\Rinsaka\MyVagrant\MyCentOS>vagrant ssh ⏎
[vagrant@centos8 ~]$ exit ⏎
logout
Connection to 127.0.0.1 closed.

C:\Users\Rinsaka\MyVagrant\MyCentOS>

パスワードでログインできないことを確認する

標準のままでは,IDとパスワードでログイン出来ないことを確認しておく.なお,初めてログインを試みるときに,ECDSA key fingerprint に関する注意が表示されるが,yes を入力して登録するとよい.次回以降は表示されなくなるのとともに,もしもサーバが変更された(なりすまされた)らそれを認識できるようになる.

C:\Users\Rinsaka\MyVagrant\MyCentOS>ssh vagrant@192.168.33.110 ⏎
The authenticity of host '192.168.33.110 (192.168.33.110)' can't be established.
RSA key fingerprint is SHA256:mTRYzjsqjHU/pyJRwJp3gpWOjr0MnbRylf9r7jjFV1w.
Are you sure you want to continue connecting (yes/no)? yes ⏎
Warning: Permanently added '192.168.33.110' (RSA) to the list of known hosts.
vagrant@192.168.33.110: Permission denied (publickey,gssapi-keyex,gssapi-with-mic).

C:\Users\Rinsaka\MyVagrant\MyCentOS>

パスワードでもSSH接続できるようにする

標準の設定では vagrant ssh でログインする.しかしながら,PuTTY や Cyberduck を利用する際には,パスワードでログインできたほうが便利である(PuTTY や Cyberduck に秘密鍵を登録する方法もある).まずは,vagrant ssh でログインしたあと,/ect/ssh/sshd_config ファイルを編集して,パスワードでも SSH 接続できるようにする.

C:\Users\Rinsaka\MyVagrant\MyCentOS>vagrant ssh ⏎
Last login: Fri Mar 26 00:33:31 2021 from 10.0.2.2
Last login: Fri Mar 26 00:33:31 2021 from 10.0.2.2
[vagrant@centos8 ~]$

/etc/ssh/sshd_config ファイルの内容を確認する.

[vagrant@centos8 ~]$ sudo cat -n /etc/ssh/sshd_config | tail -n 80 | head -n 6 ⏎
    66
    67  # To disable tunneled clear text passwords, change to no here!
    68  #PasswordAuthentication yes
    69  #PermitEmptyPasswords no
    70  PasswordAuthentication no
    71
[vagrant@centos8 ~]$

68行目でパスワード認証が無効になっているので,70行目をコメントアウトして,68行目を有効にする.sudo vi /etc/ssh/sshd_config コマンドで編集してもよいが,次の sed コマンドで編集すると良い.

[vagrant@centos8 ~]$ sudo sed -i -e 's/#PasswordAuthentication yes/PasswordAuthentication yes/' /etc/ssh/sshd_config ⏎
[vagrant@centos8 ~]$ sudo sed -i -e 's/PasswordAuthentication no/#PasswordAuthentication no/' /etc/ssh/sshd_config ⏎
[vagrant@centos8 ~]$

正しく編集ができた(68行目が有効になり,70行目がコメントアウトされた)ことを確認して,SSHサービスを再起動する.

[vagrant@centos8 ~]$ sudo cat -n /etc/ssh/sshd_config | tail -n 80 | head -n 6 ⏎
    66
    67  # To disable tunneled clear text passwords, change to no here!
    68  PasswordAuthentication yes
    69  #PermitEmptyPasswords no
    70  #PasswordAuthentication no
    71
[vagrant@centos8 ~]$ sudo systemctl restart sshd ⏎
[vagrant@centos8 ~]$ exit ⏎
logout
Connection to 127.0.0.1 closed.

パスワードでログインできることを確認する

パスワードでもログインできるようになったことを確認する.なお,ユーザIDは「vagrant」,パスワードも「vagrant」です.以降はどちらの方法でログインしても問題ありません.

C:\Users\Rinsaka\MyVagrant\MyCentOS>ssh vagrant@192.168.33.110 ⏎
vagrant@192.168.33.110's password: # パスワード「vagrant」を入力する(表示されない)
Last login: Fri Mar 26 00:35:18 2021 from 10.0.2.2
Last login: Fri Mar 26 00:35:18 2021 from 10.0.2.2
[vagrant@centos8 ~]$ exit ⏎
logout
Connection to 192.168.33.110 closed.

C:\Users\Rinsaka\MyVagrant\MyCentOS>vagrant ssh ⏎
Last login: Fri Mar 26 00:39:35 2021 from 192.168.33.1
[vagrant@centos8 ~]$ exit ⏎
logout
Connection to 127.0.0.1 closed.

C:\Users\Rinsaka\MyVagrant\MyCentOS>

CentOS をアップデートする

インストールした CentOS を最新版にアップデートする(Windows Update と同じようなイメージ).

ログインができれば,sudo yum -y update コマンドを実行する.なお,このコマンドの実行には 5分かそれ以上の時間がかかります.また,CentOS 7.2 系で GPG に関するエラーが出た場合は --nogpgcheck オプションを付け,sudo yum -y update --nogpgcheck とすればよい.

C:\Users\Rinsaka\MyVagrant\MyCentOS>vagrant ssh ⏎
Last login: Fri Mar 26 00:39:47 2021 from 10.0.2.2
Last login: Fri Mar 26 00:39:47 2021 from 10.0.2.2
[vagrant@centos8 ~]$ sudo yum -y update ⏎
CentOS Linux 8 - AppStream                                666  B/s | 4.3 kB     00:06
CentOS Linux 8 - AppStream                                 53 kB/s | 6.3 MB     02:00
CentOS Linux 8 - BaseOS                                    15 kB/s | 3.9 kB     00:00
CentOS Linux 8 - BaseOS                                   1.8 MB/s | 2.3 MB     00:01
CentOS Linux 8 - Extras                                   5.8 kB/s | 1.5 kB     00:00
CentOS Linux 8 - Extras                                    17 kB/s | 9.4 kB     00:00
Extra Packages for Enterprise Linux Modular 8 - x86_64    3.4 kB/s | 4.2 kB     00:01
Extra Packages for Enterprise Linux Modular 8 - x86_64    529 kB/s | 557 kB     00:01
Extra Packages for Enterprise Linux 8 - x86_64            4.4 kB/s | 4.2 kB     00:00
Extra Packages for Enterprise Linux 8 - x86_64            3.3 MB/s | 9.1 MB     00:02
Dependencies resolved.
Nothing to do.
Complete!
[vagrant@centos8 ~]$

さらに,Git をインストールして,設定を行っておきます.まずはインストールします.

[vagrant@centos8 ~]$ sudo dnf install -y git ⏎
CentOS Linux 8 - AppStream                                                              7.3 kB/s | 4.3 kB     00:00
CentOS Linux 8 - BaseOS                                                                  14 kB/s | 3.9 kB     00:00
CentOS Linux 8 - Extras                                                                 5.9 kB/s | 1.5 kB     00:00
Extra Packages for Enterprise Linux Modular 8 - x86_64                                  2.9 kB/s | 4.2 kB     00:01
Extra Packages for Enterprise Linux 8 - x86_64                                          4.7 kB/s | 4.2 kB     00:00
Dependencies resolved.

(中略)

Installed:
  git-2.27.0-1.el8.x86_64                  git-core-2.27.0-1.el8.x86_64        git-core-doc-2.27.0-1.el8.noarch
  perl-Error-1:0.17025-2.el8.noarch        perl-Git-2.27.0-1.el8.noarch        perl-TermReadKey-2.37-7.el8.x86_64

Complete!
[vagrant@centos8 ~]$

次に,Git の設定を行います.名前とメールアドレスは自分のものに置き換えること.

[vagrant@centos8 ~]$ git config -l ⏎
[vagrant@centos8 ~]$ git config --global user.name "Gakuin Hanako" ⏎
[vagrant@centos8 ~]$ git config --global user.email "gakuin.hanako@dummy.kobegakuin.ac.jp" ⏎
[vagrant@centos8 ~]$ git config --global color.ui true ⏎
[vagrant@centos8 ~]$ git config --global push.default matching ⏎
[vagrant@centos8 ~]$ git config -l ⏎
user.name=Gakuin Hanako
user.email=gakuin.hanako@dummy.kobegakuin.ac.jp
color.ui=true
push.default=matching
[vagrant@centos8 ~]$

仮想マシンが起動できれば,SSH プロトコルを使って仮想マシンを遠隔操作したり,SFTP プロトコルを使ってファイルをローカルの Windows とやり取り(アップロード&ダウンロード)することになる.それぞれの作業を行うためのソフトウェアが必要であるので,この後は PuTTY と Cyberduck をインストールする.