SSHの設定変更 / Rocky Linux9.4 on さくらのVPS

アフィリエイト広告を利用しています

このページの内容が役に立ったら X (旧twitter) でフォローして頂けると励みになります
挨拶や報告は無しで大丈夫です

さくらのVPSにRocky Linux9.4をインストールした覚書です。

今回は、SSHの設定を行っていきたいと思います。

ここではSSHのポート変更は含みません。
ポート変更は次のステップで行います。

なお本番環境で利用される場合はここにある内容だけを鵜呑みにせずセキュリティ専門家に相談されることをお勧めします。

環境

実施日2024-05-13
サーバさくらのVPS 2G
OSRocky Linux9.4
cat /etc/redhat-release
Rocky Linux release 9.4 (Blue Onyx)

SSHの設定変更

ログイン制限の設定がひととおり完了して、接続確認できるまでは作業中のターミナルは絶対に閉じないでください。

閉じてしまって、ミスってた場合はサーバ会社提供のコンソールとかからログインできる場合があります。(さくらのVPS の場合はコンパネから)

設定ファイルを編集します。
変更した内容は、sshd を再起動するまで反映されません。

vi /etc/ssh/sshd_config

説明

man sshd_config

肝になるのは次の設定です。
このタイミングではポートは変えません。(SELinuxやFirewallも関連するため)

PermitRootLogin no

PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys

PasswordAuthentication no
PermitEmptyPasswords no
KbdInteractiveAuthentication no
GSSAPIAuthentication no

こちらのように追加・変更します。
すでに設定されているもの、書かれているけどコメント(#)になっているもの、書かれていないものがありますので、デフォルト設定を読みながら設定していきます。

さくらVPSでポートを変更した場合は、コンパネからパケットフィルタの設定変更が必要です。
さくらVPSコンパネ > 対象サーバ > グローバルネットワーク > パケットフィルタを設定
SSHの TCP 22 が設定されているはずですので、新しいポートが開くようにします。

設定内容について

下記、ChatGPTからの引用です。

一部のユーザーだけパスワード認証

どうしてもパスワードでないと困る場面で、特定のユーザーだけパスワード認証を許可したい場合は次のようにします。

vi /etc/ssh/sshd_config
Match User user1,user2,user3
  PasswordAuthentication yes

最下行に追記します。

変わったところ

「変わったところ」というか、設定していて気が付いたところです。

RSAAuthentication yes
RhostsRSAAuthentication no

▲この2つは無くなっているようです。
調べたところ、OpenSSH 7.4で SSH v1 のサポートが削除されたので、v1 向けの設定であるこれら2つが不要になったっぽいです。

AuthorizedKeyFile  (旧)
AuthorizedKeysFile (新)

▲Key が Keys と複数形に変わっているようです。

ChallengeResponseAuthentication
が無くなって
KbdInteractiveAuthentication
に変わったようです。

SSH再起動

# 確認
/usr/sbin/sshd -t

# 再起動
systemctl restart sshd

接続確認

sshdの設定変更、ユーザーの追加、公開鍵の設定ができたら、新しいターミナルを起動してログインできるか確認してみます。

このとき、作業中のターミナルは閉じずにそのままにしておいてください。万が一のとき、そのまま復旧作業に入れます。閉じてしまった場合は、コンパネのコンソールなどから行うのでちょっとめんどいです。

rootユーザーの確認

root ユーザーではログインできなくなっているはずです。

パスワード入力の確認

パスワードを入力してのログインはできなくなっているはずです。
centos ユーザーをパスワード認証にしていたらログインできなくなっているはずです。既にログインしている場合は切断されたりはしませんので、新しくターミナルを起動して確認します。

公開鍵認証を使ってログインできるはずです。