CentOS 7 は既にサポートが終了しています。このページは新規構築を推奨するものではなく、過去環境の保守、移行前調査、設定の読み解きに使うためのレガシー Linux 手順です。新規構築では現行の Linux ディストリビューションを利用してください。
参考書籍
CentOS 7 システム管理ガイド
CentOS 7 の systemd、NetworkManager、firewalld などを確認したい場合の参考書籍です。価格や在庫はリンク先で確認してください。
Amazon で見るこのリンクは Amazon アソシエイトリンクです。
sshd_config の設定
cp -a /etc/ssh/sshd_config /etc/ssh/sshd_config.bak
cat <<'EOF'
# /etc/ssh/sshd_config の該当項目を以下のように整理する
PermitRootLogin no
PasswordAuthentication yes
PubkeyAuthentication yes
EOF構文確認と再起動
sshd -t
systemctl restart sshd
systemctl status sshd確認するポイント
- root 直接ログインを許可しない。
- 鍵認証を有効にする。
- パスワード認証を残す場合は接続元制御や fail2ban なども検討する。
管理入口としての確認点
SSH はサーバー管理の入口です。CentOS 7 の既存環境では、root ログイン、パスワード認証、公開鍵認証、接続元制限を分けて確認します。
PermitRootLoginの扱い。PasswordAuthenticationの扱い。- 管理ユーザーの公開鍵配置。
- Firewall や TCP Wrapper 側の制御。
SSH の設定は、単独で安全性が決まるものではありません。管理ユーザー、sudo、公開鍵、接続元制限、踏み台サーバー、ログ監視を組み合わせて考えます。古い環境では、パスワード認証が残っていないか、退役済みユーザーの鍵が残っていないかも確認対象になります。
確認コマンド
sshd -T | grep -E 'permitrootlogin|passwordauthentication|pubkeyauthentication'
systemctl status sshd
last -a | headCentOS 7 SSH 設定 – 管理接続の基本方針


