0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

RHEL 9のSSH設定はsshd_configだけ見ても足りない——実効値を確認する順序

0
Posted at

sshd_configを直したのに、なぜ反映されないのか

RHEL 8で使っていたSSHの確認手順を、そのままRHEL 9へ持ち込むと、設定を直したのに効かないことがあります。

原因の1つは、RHEL 9では/etc/ssh/sshd_config.d/*.confも設定の読み込み元になることです。メインのsshd_configだけを読んでも、実効値を確定できません。

この記事では設定を変更せず、どこから確認するかだけを整理します。

結論

次の順で確認します。

  1. OSのメジャーバージョンを確認する
  2. 設定の読み込み元を確認する
  3. sshd -Tで実効設定を表示する
  4. Matchがあれば接続条件を与えて確認する
  5. 暗号ポリシーの問題は、その後で切り分ける

02_SSH確認順序.png

1. OSとOpenSSHの版を控える

cat /etc/redhat-release
ssh -V

ssh -Vは標準エラー出力へ表示される実装があります。別のコマンドへパイプする場合は、表示先の違いに注意してください。

2. RHEL 9ではdrop-inも確認する

RHEL 9では、/etc/ssh/sshd_config.d/*.confがsshd_configより優先されます。

AlmaLinux 8.10 / 9.7の検証環境では次の違いがありました。

  • 8.10: /etc/ssh/sshd_config.d自体がなく、Include行もなかった
  • 9.7: ディレクトリがあり、Include /etc/ssh/sshd_config.d/*.confがあった

これはAlmaLinux 2台での実測です。RHELやRocky Linuxの全環境が同じとは断定しません。

読み込み設定は、次のように確認できます。

sudo grep -n '^[[:space:]]*Include' /etc/ssh/sshd_config
sudo find /etc/ssh/sshd_config.d -maxdepth 1 -type f -name '*.conf' -print

2つ目のコマンドで「該当なし」になる場合と、ディレクトリ自体を読めない場合は別です。出力が0件だったという理由だけで、drop-inが存在しないと判断しないでください。

3. 最後は実効設定を見る

sudo /usr/sbin/sshd -T

たとえば、次の項目を確認します。

sudo /usr/sbin/sshd -T | grep -E '^(port|permitrootlogin|pubkeyauthentication|authorizedkeysfile|pubkeyacceptedalgorithms) '

ファイルに書いてある値と、sshdが採用する値を分けて考えるのがポイントです。

4. Matchがあれば接続条件を与える

Match UserやMatch Addressを使っている場合、条件なしのsshd -Tだけでは、対象接続の値を表せないことがあります。

次は例です。alice、server.example、192.0.2.10を対象接続の実値へ置き換えます。

sudo /usr/sbin/sshd -T -C user=alice,host=server.example,addr=192.0.2.10

この-C形式は、既存のAlmaLinux 8.10 / 9.7検証ログで受理され、実効設定が出力されることを確認済みです。

5. 暗号ポリシーは最後に切り分ける

update-crypto-policies --show

RHEL 9では、DEFAULTポリシーでもSHA-1署名が制限されます。一方、RHEL 8と9で同じDEFAULTと表示されても、中身が同じとは限りません。

ただし、接続できないからといって、すぐにSHA-1を再有効化したりLEGACYへ下げたりしないでください。システム全体の暗号強度に影響します。

確認の順番は次です。

  • 接続先とポート
  • ユーザーと鍵
  • 実効設定
  • サーバーログ
  • 使用アルゴリズム
  • 暗号ポリシー

SCPの失敗はSSH接続失敗とは限らない

RHEL 9ではscpが既定でSFTPを使います。旧サーバーや機器との組み合わせでは、SSHログインはできるのにファイル転送だけ失敗する場合があります。

旧SCPを強制する-Oは互換性確認の手段ですが、恒久対応として安易に配布しません。相手側がSFTPへ対応できるかを先に確認します。

範囲と限界

  • RHELの仕様はRed Hat公式資料で確認しました
  • 実測したのはAlmaLinux 8.10 / 9.7です
  • RHEL / Rocky Linuxの実機では確認していません
  • 本文のコマンドは読み取り確認です。設定変更やsshd再起動は含めていません

公式資料:

9項目をまとめた図解について

SSH以外にも、NetworkManager、systemd、cgroup、journal、firewalld、SELinuxについて、8と9で「見る場所が変わるところ」を図にまとめました。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?