さくらのVPSでCentOS 8+Nginx+WordPress環境を構築(2/4)
前回の記事で、さくらのVPSにCentOS 8をインストールしました。
続いてこの記事では、手元のPCからSSH経由でアクセスして各種設定が行えるよう、SSH関連の設定を行います。
記事一覧
その1:さくらのVPSにCentOS 8をインストール
その2:SSHの設定 ←本記事
その3:Nginx、MariaDBなどのインストール
その4:Nginx、MariaDBなどの設定とWordPressの配置
VPSの起動とログイン
前回の記事でCentOSのインストールが終わって、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パケットの送信間隔」にチェックをつけて秒数を入力します。
ここでいったん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関連の設定は終了です。
私もこの本を参考にして環境を構築しました。Cent OS 7にnginxを入れて、PHP+WordPress環境を構築したり、Let's Encryptを用いたSSL/TLSの設定方法などが詳しく載っています。
ディスカッション
コメント一覧
まだ、コメントがありません