VPS(Rocky Linux 9.3)での初期設定
新しく、シンクラウド社でシン・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