ファイルパスは
/etc/ssh/sshd_config
パラメータの詳細:
もちろん、以下は sshd_config
ファイル内のいくつかの一般的なパラメータの説明です:
1. Include /etc/ssh/sshd_config.d/*.conf
#
- 意味:
/etc/ssh/sshd_config.d/
ディレクトリ内のすべての.conf
で終わる設定ファイルを含めます。これにより、設定を複数のファイルに分散させ、管理と保守が容易になります。 - 効果:設定ファイルをよりモジュール化し、異なるシナリオで設定を追加または変更しやすくします。
2. PermitRootLogin yes
#
- 意味:root ユーザーが SSH でログインすることを許可します。
- 効果:
yes
に設定すると、root ユーザーはパスワードまたはキーを使用してログインできます。prohibit-password
に設定すると、root ユーザーはキーのみでログインでき、パスワードは使用できません。without-password
またはwithout-password,prohibit-password
に設定すると、root ユーザーはパスワードでログインできませんが、キーでのログインは可能です。no
に設定すると、root ユーザーは SSH でログインできません。
3. AuthorizedKeysFile .ssh/authorized_keys
#
- 意味:認証された公開鍵ファイルのパスを指定します。
- 効果:デフォルトでは、SSH はユーザーの
~/.ssh/authorized_keys
ファイル内で認証された公開鍵を探します。このファイルには、ログインを許可された公開鍵のリストが含まれています。
4. PasswordAuthentication yes
#
- 意味:パスワードによる認証を許可するかどうか。
- 効果:
yes
に設定すると、ユーザーはパスワードを使用してログインできます。no
に設定すると、パスワードによるログインは禁止され、キーまたは他の認証方法のみが使用可能です。
5. PermitEmptyPasswords no
#
- 意味:空のパスワードでのログインを許可するかどうか。
- 効果:
yes
に設定すると、空のパスワードでのログインが許可されます。no
に設定すると、空のパスワードでのログインは許可されません。セキュリティ上の理由から、通常はno
に設定することが推奨されます。
6. KbdInteractiveAuthentication yes
#
- 意味:キーボードインタラクティブ認証を許可するかどうか。
- 効果:
yes
に設定すると、PAM(Pluggable Authentication Modules)認証などのキーボードインタラクティブ認証が許可されます。これは通常、多要素認証に使用されます。
7. UsePAM no
#
- 意味:認証、アカウント処理、セッション処理に PAM を使用するかどうか。
- 効果:
yes
に設定すると、SSH は PAM を使用して認証を行います。これにより、PAM 設定ファイルを通じてより複雑な認証ポリシー(多要素認証、アカウントロックなど)を実施できます。no
に設定すると、PAM は使用されません。
8. Subsystem sftp /usr/lib/ssh/sftp-server
#
- 意味:SFTP サブシステムを定義します。
- 効果:SFTP サービスのパスを指定します。SFTP は SSH ファイル転送プロトコルで、安全にファイルを転送するために使用されます。
/usr/lib/ssh/sftp-server
は SFTP サーバーのデフォルトパスです。
9. Match User anoncvs
#
- 意味:特定のユーザーまたはユーザーグループの設定を一致させます。
- 効果:特定のユーザーまたはユーザーグループに特定の設定を行うことができます。たとえば、特定のユーザーの X11 転送、TCP 転送、または TTY 割り当てを無効にすることができます。
10. X11Forwarding no
#
- 意味:X11 転送を有効にするかどうか。
- 効果:
yes
に設定すると、SSH を介して X11 グラフィカルインターフェースを転送できます。これはリモートでグラフィカルインターフェースアプリケーションを実行するのに便利です。no
に設定すると、X11 転送は禁止されます。
11. AllowTcpForwarding yes
#
- 意味:TCP 転送を許可するかどうか。
- 効果:
yes
に設定すると、SSH を介して TCP 接続を転送できます。これはポート転送を設定するのに便利です。no
に設定すると、TCP 転送は禁止されます。
12. PermitTTY yes
#
- 意味:TTY を割り当てることを許可するかどうか。
- 効果:
yes
に設定すると、ログインセッションに TTY を割り当てることができます。これはインタラクティブシェルセッションに便利です。no
に設定すると、TTY の割り当ては禁止され、通常はコマンド実行や SFTP などの非インタラクティブセッションに使用されます。
13. PrintMotd yes
#
- 意味:motd(Message of the Day)ファイルを印刷するかどうか。
- 効果:
yes
に設定すると、ユーザーがログインする際に/etc/motd
ファイルの内容が印刷されます。このファイルには通常、システムの通知や重要な情報が含まれています。
14. PrintLastLog yes
#
- 意味:前回のログイン情報を印刷するかどうか。
- 効果:
yes
に設定すると、ユーザーがログインする際に前回のログインの時間と場所が印刷されます。これにより、ユーザーはアカウントの使用状況を把握できます。
15. TCPKeepAlive yes
#
- 意味:TCP の保持活動状態を有効にするかどうか。
- 効果:
yes
に設定すると、SSH は定期的に保持活動状態のパケットを送信し、接続のタイムアウトを防ぎます。no
に設定すると、保持活動状態のパケットは送信されません。
16. UseDNS no
#
- 意味:クライアントの IP アドレスを DNS で解決するかどうか。
- 効果:
yes
に設定すると、SSH はクライアントの IP アドレスを DNS で解決しようとします。no
に設定すると、DNS 解決は行われず、接続速度が向上します。特に DNS 解決が遅い場合に有効です。
17. ClientAliveInterval 0
#
- 意味:クライアントの保持活動状態の間隔時間(秒)。
- 効果:非ゼロ値に設定すると、SSH は定期的に保持活動状態のパケットを送信し、接続のタイムアウトを防ぎます。たとえば、
60
に設定すると、60 秒ごとに保持活動状態のパケットが送信されます。
18. ClientAliveCountMax 3
#
- 意味:切断する前に未応答のクライアントからの応答を受け取らなかった最大回数。
- 効果:
3
に設定すると、連続して 3 回未応答の場合、SSH は接続を切断します。これにより、死んだ接続を自動的にクリーンアップできます。
19. PidFile /run/sshd.pid
#
- 意味:SSH サーバーの PID ファイルのパスを指定します。
- 効果:PID ファイルは SSH サーバーのプロセス ID を記録し、管理と監視を容易にします。
20. MaxStartups 10:30:100
#
- 意味:同時に開始される未認証接続の最大数を制御します。
- 効果:形式は
start:rate:full
で、start
は新しい接続を拒否し始める未認証接続の数、rate
は未認証接続ごとに増加する拒否率、full
は新しい接続を完全に拒否する未認証接続の数です。たとえば、10:30:100
は、未認証接続数が 10 に達したときに、新しい接続が 1 つ増えるごとに拒否率が 30% 増加し、未認証接続数が 100 に達したときに新しい接続を完全に拒否することを意味します。
21. Banner none
#
- 意味:ログイン前に表示されるバナーのファイルパスを指定します。
- 効果:ファイルパスに設定すると、SSH はユーザーがログインする前にそのファイルの内容を表示します。これはログイン警告や法的声明を表示するために使用できます。
22. ChrootDirectory none
#
- 意味:ユーザーの chroot ディレクトリを指定します。
- 効果:ディレクトリパスに設定すると、ユーザーはログイン後、そのディレクトリ内に制限され、他のディレクトリにアクセスできなくなります。これにより、システムのセキュリティが向上します。
23. VersionAddendum none
#
- 意味:SSH サーバーのバージョン文字列に追加される情報。
- 効果:文字列に設定すると、その文字列が SSH サーバーのバージョン文字列に追加されます。これにより、バージョン情報をカスタマイズできます。
24. Subsystem sftp /usr/lib/ssh/sftp-server
#
- 意味:SFTP サブシステムを定義します。
- 効果:SFTP サービスのパスを指定します。SFTP は SSH ファイル転送プロトコルで、安全にファイルを転送するために使用されます。
/usr/lib/ssh/sftp-server
は SFTP サーバーのデフォルトパスです。
25. Match User anoncvs
#
- 意味:特定のユーザーまたはユーザーグループの設定を一致させます。
- 効果:特定のユーザーまたはユーザーグループに特定の設定を行うことができます。たとえば、特定のユーザーの X11 転送、TCP 転送、または TTY 割り当てを無効にすることができます。
これらのパラメータの設定は、SSH サーバーの動作とセキュリティに大きな影響を与える可能性があります。具体的なニーズに応じて、これらのパラメータを適切に設定することで、システムのセキュリティと可用性を向上させることができます。