さくらのVPSでCentOS 8+Nginx+WordPress環境を構築(2/4)

2020年1月27日Linux,WebサイトCentOS8,VPS

前回の記事で、さくらのVPSにCentOS 8をインストールしました。

続いてこの記事では、手元のPCからSSH経由でアクセスして各種設定が行えるよう、SSH関連の設定を行います。

記事一覧

その1:さくらのVPSにCentOS 8をインストール
その2:SSHの設定 ←本記事
その3:Nginx、MariaDBなどのインストール
その4:Nginx、MariaDBなどの設定とWordPressの配置

VPSの起動とログイン

前回の記事でCentOSのインストールが終わって、VPSが停止中の状態になっています。まずは、VPSを起動してログインします。

コントロールパネルからVPSを起動し、コンソールを開きます。

コントロールパネルからVPSを起動し、コンソールを開きます。

コンソールを開いてしばらく待っていると、ログインを促す表示がされます。OSインストール中に作成した管理者ユーザーとパスワードを入力してログインします。

SSHの設定

さくらのVPSのコンソールからでも各種設定はできるのですが、何かと不便なので、手元のPCからSSHの設定経由でログインするように設定します。

rootログインの禁止とポート変更

いったん、sshdをオフにしておきます。

sudo systemctl stop sshd

また、念のためインストール済みソフトのアップデートを行っておきます。(ネットワークインストールでOSをインストールしたため、おそらく既に最新状態でしょう)

sudo dnf update

好みのエディターがある人は、ここでインストールしておきましょう。私はVimが苦手なので、nanoをインストールします。

sudo dnf install nano

SSHの設定を変更します。下記のファイルを開きます。

sudo nano /etc/ssh/sshd_config

下記の2カ所を変更します。

ポートは初期状態ですと22ですが、別のポートに変更しておくことにします(このポート番号は後ほどSSHでのログイン時に使用します)。例として、56789番ポートに設定します。

また、rootでのログインも禁止しておきます。

Port 56789
PermitRootLogin no

sshdを起動します。

sudo systemctl start sshd

外部から上記のポートにアクセスできるよう、ポート開放を行います。

sudo firewall-cmd --add-port=56789/tcp --zone=public && \
sudo firewall-cmd --add-port=56789/tcp --zone=public –-permanent

これで管理者ユーザーでのパスワードログインができるはずです。

SSH経由でのログイン設定

ここからは、手元のPCからSSHでログインして作業していきます。

ターミナルソフトもお好みで良いと思いますが、私はRLoginを使っています。

手元のPCにRLoginをインストールし、起動します。Server Select画面から[新規]ボタンをクリックすると下記のような画面が出てきますので、入力していきます。

  • エントリー:分かりやすい名称を入力します
  • ホスト名:VPSのIPアドレスを入力します
  • TCPポート:上記で設定したSSHのポート番号(56789)を入力します
  • ログインユーザー名:OSインストール中に作成した管理者ユーザー名を入力します。

ついでに、KeepAliveの設定もしておきましょう。私の環境の場合、SSHでログインしたまま放置していると接続が切れてしまうため、この設定を行って切断されないようにします。

左のメニューから「プロトコル」を選択し、「KeepAliveパケットの送信間隔」にチェックをつけて秒数を入力します。

KeepAliveの設定

ここでいったんVPSにアクセスできることを確認しておきます。

RLoginで認証鍵を作成

パスワードログインのままでは危険ですので、鍵認証を使用したログインを設定し、パスワードログインをオフにします。この項の説明は、さくらのナレッジの記事を参考にしています。

RLoginのServer Select画面で、先ほど作成したサーバー接続設定を選択し[編集]ボタンをクリックします。

左のメニューから[プロトコル]を選択し、[認証キー]ボタンをクリックします。

「認証キー」画面の新規の部分で、分かりやすい名前を入力し、[作成]ボタンを押します。

パスフレーズを入力し、[OK]を押します。このパスフレーズは、今後SSHで認証鍵を使用してログインする際に使用します。(ログインするユーザーのパスワードとは別でOK)

「認証キー」の画面に戻ってきます。認証キーをエクスポートするため、先ほど作成したキーを選択し、[エクスポート]を押します。

ファイル名を指定し、設定したパスフレーズを入力して[OK]を押します。ここでは、ファイル名はid_rsaにしました。

「認証キー」の画面に戻ってきます。

[公開鍵]ボタンを押すと、公開鍵をクリップボードにコピーすることができます。これを、一時的にメモ帳などに貼り付けて起きます。

OKボタンを押していって、「認証キー」→ 「Server Edit Entry」 →「Server Select」の画面に戻ってきます。

鍵認証ログインの設定

次に、VPS側を設定して、鍵認証ログインを設定します。

作成した接続設定を選んで[OK]を押し、VPSに接続します。まだパスワードログインですので、インストール時に設定した管理用ユーザーのパスワードを入力します。

ログインしたら、~/.ssh/authorized_keysに公開鍵を保存します。

cd
mkdir .ssh
chmod 700 .ssh
cd .ssh
nano authorized_keys

テキストエディターが開きますので、先ほどメモ帳にコピペしておいた公開鍵を貼り付けます。

ssh-rsa AA ~略~ user@pc

保存してエディターを終了し、次はパーミッションを変更します。

chmod 600 authorized_keys

ここで、RLoginで鍵認証ログインの設定をします。再度「Server Select」から[編集]ボタンを押して「Server Edit Entry」を開きます。

右下の[SSH認証鍵]ボタンを押して、先ほど保存した認証鍵(今回の例だとE:\Documents\id_rsa)を選択します。

[OK]で保存して、SSH認証鍵を用いたログインができるか試してみます。

保存した接続設定を選択して[OK]を押すと、「SSH鍵ファイルの読み込み」画面が表示されます。ここで設定したパスフレーズを入力し、正しくログインできればOKです。

認証鍵を用いたログインができるようになりましたので、パスワードログインをオフにします。sshdの設定ファイルを開きます。

sudo nano /etc/ssh/sshd_config

PasswordAuthenticationをnoにします。

PasswordAuthentication no

sshdを再起動します。

sudo systemctl restart sshd

以上でSSH関連の設定は終了です。

次回は、Nginxなどのインストールをします。

created by Rinker
インプレス - impress top gear シリーズ
渡辺 高志 著、2017/2/16 発売
私もこの本を参考にして環境を構築しました。Cent OS 7にnginxを入れて、PHP+WordPress環境を構築したり、Let's Encryptを用いたSSL/TLSの設定方法などが詳しく載っています。