第1回 ConoHa VPS KUSANAGIサーバー移行 - サーバー構築とSSHの設定

ConoHa VPS KUSANAGI
  • URLをコピーしました!

ConoHa VPS 2.0から3.0へやっと移行したので、移行の際に苦労した点などを備忘録として残しておきます。

ConoHa や XServer VPSを利用して、超高速WordPress実行環境「KUSANAGI9 + nginx」を導入する手順を連載で紹介します。

第1回となる今回は、サーバーの立ち上げから、安全に運用するためのSSH周りのセキュリティ設定(ポート変更・鍵認証・Firewalld設定)までを解説します。

Contents

サーバーをConoHa VPS 3.0で作成

「アプリケーション」->「WordPress(KUSANAGI)」で「AlmaLinux OS 9」を選択

「アプリケーション」->「WordPress(KUSANAGI)」で「AlmaLinux OS 9」を選択

OSの選択:なぜAlmaLinux 9なのか?

CentOS Stream 9も選択肢にありますが、以下のサポート期限の違いから、より長く安心して使えるAlmaLinux 9を採用しました。

  • CentOS Stream 9: 2027年5月31日まで
  • AlmaLinux 9: アクティブサポートは2027年まで、セキュリティサポートは2032年5月31日まで

基本設定

サーバーの構築
  • rootパスワード: 複雑なものを設定し、忘れないように管理してください。
  • SSH Key: 「新規キー登録」→「自動生成」を選択してダウンロードしておきます。

セキュリティグループ(ファイアウォール)の設定

SSHポートの新しいセキュリティグループの作成と追加

サーバー作成時に、ConoHa側のファイアウォールである「セキュリティグループ」も設定しておきます。

  1. セキュリティグループの作成画面を開きます。
  2. グループ名は管理しやすい名前(例: IPv4v6-SSH New など)にします。
  3. SSHポートの許可範囲: デフォルトの22番に加え、後で変更するポート番号を許可します。

重要なポイント: 変更後のSSHポート番号は、ウェルノウンポートなどを避けた「49152~65535」の間で設定するのが推奨です。 ※ただし、KUSANAGIの機能である「WEXAL PST」を使用する場合は 61000 ポートを使用するため、それ以外を設定してください。

設定が完了したらサーバーを「起動」します。

作業用ユーザーの作成と権限設定

ここからはターミナルソフト(WinSCP、PuTTY、MacのTerminalなど)を使って作業します。まずは初期設定どおり、IPアドレスとrootパスワード(または鍵)でログインしてください。

WinSCPで公開鍵、秘密鍵を作成

WinSCPで新しいサーバーに接続

新しいサイトから、ホスト名に「VPSのIPv4アドレス」とポート番号「22」を入力、ユーザー名は「root」パスワードはVPSでサーバーを作成したときのパスワードを入力し、パスワード下の「設定」をクリック

秘密鍵 OpenSSHをPuTTY形式に変換

SSH→認証→秘密鍵から、サーバー作成時に保存したSSHキーを読み込み、秘密鍵をOpenSSHからPuTTY形式に変換「OK」をクリック

作業用ユーザーの追加

rootで作業し続けるのはリスクがあるため、一般ユーザー(ここでは ichitaso とします)を作成し、管理者権限(wheel)を付与します。

その前に、wheelグループのユーザーが su コマンドを使えるように設定を変更します。

vi /etc/pam.d/su

編集箇所(7行目付近):

#auth       required     pam_wheel.so use_uid
	↓
auth        required     pam_wheel.so use_uid

上書き保存

:wq

【コラム】viコマンド操作クイックリファレンス

Linux初心者向けに、最低限覚えておくべき vi の操作をまとめました。

キー動作
i編集(インサート)モードになる
Esc編集モードを解除してコマンドモードへ
u元に戻す(Undo)
Ctrl + rやり直し(Redo)
/文字列検索(入力後にEnter)
:wq保存して終了
:q保存せずに閉じる(編集していない場合)
:q!保存せずに強制終了

ユーザー作成コマンド

ユーザーを作成し、パスワードを設定、グループに追加します。

# ユーザー作成
useradd ichitaso

# パスワード設定
passwd ichitaso
# (新しいパスワードを2回入力)

# wheelグループへ追加
gpasswd -a ichitaso wheel

ユーザーを消す場合

userdel -r ユーザー名

動作確認:

# 作成したユーザーに切り替え
su ichitaso

# プロンプトが以下のように変わればOK
# [root@xxx ~]#  →  [ichitaso@xxx root]$

# sudoコマンドが使えるか確認(rootに戻る)
sudo -s
# パスワードを入力し、末尾が # になれば成功

SSHのセキュリティ強化(ポート変更・root禁止)

デフォルトの22番ポートは攻撃の標的になりやすいため変更します。また、rootでの直接ログインも禁止設定にします。

SSH設定ファイルの編集

vi /etc/ssh/sshd_config

① ポート番号の変更(21行目付近)

#Port 22
↓
Port あなたが決めた番号
# (先頭の#を消して番号を変更)

② rootログインの禁止(40行目付近)

#PermitRootLogin prohibit-password
↓
PermitRootLogin no

③ 鍵認証の許可(45行目付近)

#PubkeyAuthentication yes
↓
PubkeyAuthentication yes

保存して閉じます(:wq)。

注意:今のSSHセッションは切断せずにしておいてください。

【重要】ConoHa VPS特有の設定 ConoHaの場合、別の設定ファイルが優先されることがあるため、以下も確認・変更します。

vi /etc/ssh/sshd_config.d/01-permitrootlogin.conf

ファイルがある場合は、PermitRootLogin yesno に書き換えて保存してください。

内部ファイアウォール(Firewalld)の設定

OS側のファイアウォールにも新しいポート番号を通知する必要があります。 public.xml を直接編集して設定を追加します。

vi /etc/firewalld/zones/public.xml

以下のように <port port="設定した番号" protocol="tcp"/> を追加してください。

<?xml version="1.0" encoding="utf-8"?>
<zone>
  <short>Public</short>
  <description>For use in public areas...</description>
  <service name="ssh"/>
  <service name="dhcpv6-client"/>
  <service name="cockpit"/>
  <service name="http"/>
  <service name="https"/>
  <port port="443" protocol="udp"/>
  <port port="設定したポート番号" protocol="tcp"/>
  <forward/>
</zone>

ユーザー用SSH鍵の作成と設定

新しく作ったユーザー(ichitaso)用の認証鍵を作成します。

# ユーザーに切り替え
su ichitaso

# ディレクトリ作成と権限設定
cd ~/
mkdir .ssh
chmod 700 .ssh
cd ~/.ssh

# 鍵の生成
ssh-keygen -t rsa

コマンド実行後、ファイル名を聞かれます。 例として ichitaso-vps2 と入力します。パスフレーズは任意ですが、空(エンター2回)でも作成可能です。

作成された公開鍵をリネームし、権限を設定します。

mv ichitaso-vps2.pub authorized_keys
chmod 600 authorized_keys

注意: ここで生成された秘密鍵(例:ichitaso-vps2)は、WinSCPなどを使ってローカルPC(手元)にダウンロード・保存してください。これがログイン時の鍵になります。

sshdとfirewalldを再起動

すべての設定が終わったら、サービスを再起動して設定を反映させます。 注意:現在接続しているSSHセッションはまだ切断しないでください! 設定ミスがあった場合、締め出されてしまいます。

sudo -s
systemctl restart sshd.service && systemctl restart firewalld.service

新しい設定でログインテスト

WinSCPなどの新しいウィンドウを開き、以下の条件で接続できるか試してください。

  1. ポート番号: 新しく設定した番号
  2. ユーザー名: 作成したユーザー(ichitaso)
  3. 秘密鍵: ダウンロードしたユーザー用の鍵

無事に接続できれば設定完了です!

22番ポートでログインできないことと、新規で作ったポート番号でSSH接続できることを確認し、問題があれば閉じていなかったターミナルセッションから、もとに戻してやり直してみてください

ConoHa VPS の管理画面から VPSのセキュリティグループ「IPv4v6-SSH」を消してください。

【著者のひとりごと】rootログインについて

今回の手順ではセキュリティの観点から「rootログイン禁止(PermitRootLogin no)」の手順を紹介しました。

しかし、私個人の運用としては、WinSCPでのファイル操作などで一般ユーザー権限だと不便なシーン(所有権周りでのエラーなど)が多く著しく作業効率が下がるため、リスクを承知の上でrootログインを許可したままにしている場合もあります。

セキュリティと利便性はトレードオフですので、ご自身の運用スタイルに合わせて最終的な設定を決めてください。

次回は、KUSANAGIコマンドを使ったWordPressのプロビジョニング(立ち上げ)について解説します。

ちなみに、ConoHa VPS以外にもXServer VPSカラフルボックス BOX8プランなども検証してみたので、検証結果を知りたい方はコメントなどお願いします。

ConoHa VPS KUSANAGI

この記事が気に入ったらいいね!
最新情報が届きます

この記事が気に入ったらシェアしよう!
  • URLをコピーしました!

コメント

コメントする

Contents