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


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@localhost ~]$ 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.
ECDSA key fingerprint is SHA256:vHnJVQY8I2fhCCkci82C7HTnqAasosIBzS41d4t3uDc.
Are you sure you want to continue connecting (yes/no)? yes ⏎
Warning: Permanently added '192.168.33.110' (ECDSA) 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: Wed Mar 24 06:18:24 2021 from 10.0.2.2
[vagrant@localhost ~]$

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

[vagrant@localhost ~]$ sudo cat -n /etc/ssh/sshd_config | tail -n 80 | head -n 6 ⏎
    61
    62  # To disable tunneled clear text passwords, change to no here!
    63  #PasswordAuthentication yes
    64  #PermitEmptyPasswords no
    65  PasswordAuthentication no
    66
[vagrant@localhost ~]$

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

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

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

[vagrant@localhost ~]$ sudo cat -n /etc/ssh/sshd_config | tail -n 80 | head -n 6 ⏎
    61
    62  # To disable tunneled clear text passwords, change to no here!
    63  PasswordAuthentication yes
    64  #PermitEmptyPasswords no
    65  #PasswordAuthentication no
    66
[vagrant@localhost ~]$ sudo systemctl restart sshd ⏎
[vagrant@localhost ~]$ 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: Wed Mar 24 06:26:28 2021 from 10.0.2.2
[vagrant@localhost ~]$ exit ⏎
logout
Connection to 192.168.33.110 closed.

C:\Users\Rinsaka\MyVagrant\MyCentOS>vagrant ssh ⏎
Last login: Wed Mar 24 06:28:00 2021 from 192.168.33.1
[vagrant@localhost ~]$ 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: Wed Mar 24 06:29:31 2021 from 10.0.2.2
[vagrant@localhost ~]$ sudo yum -y update ⏎
Loaded plugins: fastestmirror
Determining fastest mirrors
 * base: ftp.tsukuba.wide.ad.jp
 * extras: ftp.tsukuba.wide.ad.jp
 * updates: ftp.tsukuba.wide.ad.jp
base                                                                                             | 3.6 kB  00:00:00
extras                                                                                           | 2.9 kB  00:00:00
updates                                                                                          | 2.9 kB  00:00:00
(1/4): base/7/x86_64/group_gz                                                                    | 153 kB  00:00:00
(2/4): extras/7/x86_64/primary_db                                                                | 227 kB  00:00:00
(3/4): base/7/x86_64/primary_db                                                                  | 6.1 MB  00:00:01
(4/4): updates/7/x86_64/primary_db                                                               | 6.5 MB  00:00:01
Resolving Dependencies
--> Running transaction check
---> Package NetworkManager.x86_64 1:1.18.4-3.el7 will be updated
---> Package NetworkManager.x86_64 1:1.18.8-2.el7_9 will be an update

(中略)

  yum-plugin-fastestmirror.noarch 0:1.1.31-54.el7_8          yum-utils.noarch 0:1.1.31-54.el7_8
  zlib.x86_64 0:1.2.7-19.el7_9

Complete!
[vagrant@localhost ~]$

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

[vagrant@localhost ~]$ sudo yum install -y git ⏎
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * base: ftp.tsukuba.wide.ad.jp
 * extras: ftp.tsukuba.wide.ad.jp
 * updates: ftp.tsukuba.wide.ad.jp
Resolving Dependencies
--> Running transaction check
---> Package git.x86_64 0:1.8.3.1-23.el7_8 will be installed

(中略)

  perl-libs.x86_64 4:5.16.3-299.el7_9                           perl-macros.x86_64 4:5.16.3-299.el7_9
  perl-parent.noarch 1:0.225-244.el7                            perl-podlators.noarch 0:2.5.1-3.el7
  perl-threads.x86_64 0:1.87-4.el7                              perl-threads-shared.x86_64 0:1.43-6.el7

Complete!
[vagrant@localhost ~]$

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

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

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