🗂

VPS(Rocky Linux 9.3)での初期設定

2024/03/30に公開

新しく、シンクラウド社でシン・VPS を借りました。
シン・VPS は元々 XServer で運営されていましたが、2024 年 2 月にグループ会社のシンクラウド社に移管されたサービスです。

OS は、Rocky Linux 9.3 です。
Rocky Linux は、CentOS に変わる RHEL 互換 OS プロジェクトとして期待されているディストリビューションです。
Ubuntu を使うことが多いのですが、コマンドがいろいろ違うので、初期設定をまとめていきます。

$ cat /etc/redhat-release
Rocky Linux release 9.3 (Blue Onyx)

事前設定

シン・VPS では、OS を決める時に root の SSH キーを設定できます。
以下の設定は、root の SSH キーを設定した状態で OS インストールしています。
root の SSH キーを設定した場合、OS インストール後からパスワードでのログインができない状態になっています。

まずは root で作業を行っていきます。

パッケージのアップデート

パッケージを最新化します。

dnf -y update

ユーザーの追加

作業用ユーザーを追加します。
追加するユーザーは、ここでは 0701pino とします。
ユーザーを追加して、パスワードを設定します。

useradd 0701pino
passwd 0701pino

sudo が使えるように wheel グループに追加したユーザーを追加します。

usermod -aG wheel 0701pino

以上で作業用ユーザーが追加されて、sudo が使えるようになりました。

作業ユーザーの ssh 設定

先にローカルで ssh の鍵ペアを作っておきます。
ローカル PC のターミナルなどで以下を実行して鍵ペアを作ります。

ssh-keygen -t ed25519 -C ""

このあとは、root から作業用ユーザーに切り替えて操作します。
以下のコマンドでユーザーを切り替えます。

su 0701pino

これで作業用ユーザーになったので、~/.ssh/authorized_keys に 公開鍵を張り付けて保存します。

cd ~/
mkdir .ssh
chmod 700 .ssh
cd .ssh
vi authorized_keys
chmod 600 authorized_keys

ローカル PC で~/.ssh/config を設定して、作業用ユーザーで VPS にログインできることを確認します。

ルートユーザーのログインの禁止

/etc/ssh/sshd_config の PermitRootLogin の設定を変更し、sshd を再起動します。
以下のコマンドで sshd_config を開きます。

sudo vi /etc/ssh/sshd_config
PermitRootLogin prohibit-password

#PermitRootLogin prohibit-password
PermitRootLogin no

に変更します。
変更後は、以下のコマンドで sshd を再起動します。
再起動後は、sshd が起動していることを確認します。

systemctl restart sshd
systemctl status sshd -l

これで、root のログインはできなくなったので root で ssh でログインできなくなっていることを確認します。

sshd のポート番号変更

セキュリティ向上のため、ssh で接続するポート番号を 22 から変更します。
再度、 /etc/ssh/sshd_config を開きます。

sudo vi /etc/ssh/sshd_config
#Port 22

Port 12345

に変更します。12345 は実際には適当に選んだ使用されていないポート番号を選択します。
基本的にユーザーポートと呼ばれる範囲から選択します。
ここに詳しい説明があります。

ポートが使用されているかは、以下のコマンドで Local Address:Port に表示されているかで確認できます。

ss -tln

ポートの設定を変更後、SELinux の設定を変更して、指定するポートで SSH 通信を許可します。
SELinux が有効化は getenforce を実行して確認します。
Enforcing だと SELinux が有効です。

$ getenforce
Enforcing

SELinux が有効である場合、

sudo semanage port -a -t ssh_port_t -p tcp 12345

以下で再度 sshd を再起動します。

sudo systemctl restart sshd
sudo systemctl status sshd -l

これでポート番号の変更が完了したので、ローカル PC の~/.ssh/config のポート番号も変更し、新しいポートで ssh が接続できることを確認します。

もし VPS と接続できなくなったら、シン・VPS では HP からコンソールに接続する機能があるので、そこからログインして再設定を行います。

まとめ

これで、最低限の設定ができました。
今後はサーバーとして使えるようにいろいろ設定を行っていきます。

Discussion