CentOS 6 の OpenSSH サーバー設定を確認します。SSH はサーバー管理の入口になるため、古い環境を調査する時でも、まず接続方法、認証方式、待ち受け設定、ログを確認します。
SSH で確認する範囲
sshdが起動しているか- TCP 22 で待ち受けているか
- パスワード認証と公開鍵認証の扱い
- root ログイン可否
- 接続元制限
- ログイン失敗のログ
CentOS 6 の SSH 設定は /etc/ssh/sshd_config が中心です。現在のセキュリティ基準で見ると古い設定が残っていることがあるため、移行前には必ず確認します。
サービスと待ち受け確認
service sshd status
chkconfig --list sshd
netstat -lntp | grep :22
sshd -T | headsshd -T は有効な設定を確認するのに便利ですが、古い OpenSSH では利用できない場合があります。その場合は設定ファイルとログを中心に確認します。
sshd_config の基本
代表的な確認項目です。既存環境をいきなり変更するのではなく、現在どうなっているかを先に読みます。
grep -E "^(Port|PermitRootLogin|PasswordAuthentication|PubkeyAuthentication|AllowUsers|AllowGroups)" /etc/ssh/sshd_config特に PermitRootLogin と PasswordAuthentication は重要です。古い環境では root のパスワードログインが許可されている場合がありますが、現代の運用では公開鍵認証と管理ユーザー経由に寄せる方が自然です。
公開鍵認証の確認
公開鍵認証を使う場合は、ユーザーのホームディレクトリ、.ssh ディレクトリ、authorized_keys の権限が重要です。
ls -ld /home/user01
ls -ld /home/user01/.ssh
ls -l /home/user01/.ssh/authorized_keys
grep user01 /etc/passwd権限が広すぎると、SSH が鍵を無視することがあります。接続できない時は、鍵そのものだけでなく、ホームディレクトリとファイル権限も確認します。
ログ確認
tail -f /var/log/secure
grep sshd /var/log/secure | tail
last
lastb/var/log/secure には、認証失敗、鍵認証、PAM 関連の情報が出ます。SSH の問題は、ネットワーク到達性、sshd 設定、認証、PAM、ユーザー状態を分けて確認します。
まとめ
CentOS 6 の SSH 設定では、sshd_config、サービス状態、待ち受け、認証方式、鍵の権限、ログを順に確認します。管理入口である SSH を先に確認することで、その後のミドルウェア調査や移行作業を安全に進めやすくなります。
関連する記事
- CentOS 6 サーバー管理ガイド
CentOS 6 系の記事を役割別に確認できるハブページです。 - CentOS 6 共通設定
サーバー初期設定全体を確認します。 - CentOS 6 Linux 認証に LDAP を使う
SSH ログインにも関係する NSS / PAM 連携です。
参考書籍
CentOS 6 のような古い Linux サーバー記事を読み直す時にも、コマンドライン操作の考え方を確認しやすい参考書籍です。
Amazon で見る
