OpenSSH_sshd_config(1)

名前
sshd_config —OpenSSHデーモン構成ファイル

説明
sshd（8）は、/ etc / ssh / sshd_config（またはコマンドラインで-fで指定されたファイル）から構成データを読み取ります。このファイルには、キーワードと引数のペアが1行に1つずつ含まれています。キーワードごとに、最初に取得した値が使用されます。 「＃」で始まる行と空の行はコメントとして解釈されます。引数は、スペースを含む引数を表すために、オプションで二重引用符（ "）で囲むことができます。

可能なキーワードとその意味は次のとおりです（キーワードでは大文字と小文字が区別されず、引数では大文字と小文字が区別されることに注意してください）。

AcceptEnv
クライアントから送信された環境変数をセッションのenviron（7）にコピーすることを指定します。クライアントの構成方法については、ssh_config（5）のSendEnvおよびSetEnvを参照してください。 TERM環境変数は、プロトコルで必要とされるため、クライアントが疑似端末を要求するたびに常に受け入れられます。変数は名前で指定され、ワイルドカード文字「*」および「？」を含めることができます。複数の環境変数は、空白で区切るか、複数のAcceptEnvディレクティブに分散させることができます。一部の環境変数は、制限されたユーザー環境をバイパスするために使用される可能性があることに注意してください。このため、このディレクティブの使用には注意が必要です。デフォルトでは、環境変数は受け入れられません。
AddressFamily
sshd（8）で使用するアドレスファミリを指定します。有効な引数は、any（デフォルト）、inet（IPv4のみを使用）、またはinet6（IPv6のみを使用）です。
AllowAgentForwarding
ssh-agent（1）転送を許可するかどうかを指定します。デフォルトはyesです。エージェントの転送を無効にしても、ユーザーがシェルアクセスも拒否されない限り、セキュリティは向上しないことに注意してください。ユーザーはいつでも独自のフォワーダーをインストールできます。
AllowGroups
このキーワードの後に​​は、スペースで区切ったグループ名パターンのリストを続けることができます。指定した場合、ログインは、プライマリグループまたはサプリメンタルグループのリストがいずれかのパターンに一致するユーザーにのみ許可されます。グループ名のみが有効です。数値のグループIDは認識されません。デフォルトでは、ログインはすべてのグループで許可されています。 allow / deny groupsディレクティブは、DenyGroups、AllowGroupsの順序で処理されます。
パターンの詳細については、ssh_config（5）のPATTERNSを参照してください。

AllowStreamLocalForwarding
StreamLocal（Unixドメインソケット）転送を許可するかどうかを指定します。使用可能なオプションは、yes（デフォルト）またはallでStreamLocal転送を許可する、noですべてのStreamLocal転送を禁止する、localでローカル（ssh（1）の観点から）転送のみを許可する、またはremoteでリモート転送のみを許可するです。 StreamLocal転送を無効にしても、ユーザーがシェルアクセスも拒否されない限り、セキュリティは向上しないことに注意してください。ユーザーはいつでも独自のフォワーダーをインストールできます。
AllowTcpForwarding
TCP転送を許可するかどうかを指定します。使用可能なオプションは、yes（デフォルト）またはallでTCP転送を許可する、noですべてのTCP転送を禁止する、localでローカル（ssh（1）の観点から）転送のみを許可する、またはremoteでリモート転送のみを許可するです。 TCP転送を無効にしても、ユーザーがシェルアクセスも拒否されない限り、セキュリティは向上しないことに注意してください。ユーザーはいつでも独自のフォワーダーをインストールできます。
AllowUsers
このキーワードの後に​​は、スペースで区切ったユーザー名パターンのリストを続けることができます。指定した場合、ログインはパターンの1つに一致するユーザー名に対してのみ許可されます。ユーザー名のみが有効です。数値のユーザーIDは認識されません。デフォルトでは、ログインはすべてのユーザーに許可されています。パターンがUSER @ HOSTの形式をとる場合、USERとHOSTが別々にチェックされ、特定のホストからの特定のユーザーへのログインが制限されます。 HOST基準には、CIDRアドレス/マスクレン形式で一致するアドレスが追加で含まれる場合があります。ユーザーの許可/拒否ディレクティブは、DenyUsers、AllowUsersの順序で処理されます。
パターンの詳細については、ssh_config（5）のPATTERNSを参照してください。

AuthenticationMethods
ユーザーにアクセスを許可するために正常に完了する必要がある認証方法を指定します。このオプションの後には、コンマ区切りの認証方法名の1つ以上のリストを続けるか、単一の認証方法を受け入れるデフォルトの動作を示す単一の文字列anyを続ける必要があります。デフォルトがオーバーライドされている場合、認証を成功させるには、これらのリストの少なくとも1つにあるすべてのメソッドを完了する必要があります。
たとえば、「publickey、password publickey、keyboard-interactive」では、ユーザーが公開鍵認証を完了してから、パスワードまたはキーボードの対話型認証を完了する必要があります。各段階では、1つ以上のリストの次のメソッドのみが提供されるため、この例では、公開鍵の前にパスワードまたはキーボード対話型認証を試行することはできません。

キーボード対話型認証の場合、サーバー構成に応じて、コロンの後にデバイスID bsdauth、pam、またはskeyを追加することにより、認証を特定のデバイスに制限することもできます。たとえば、「keyboard-interactive：bsdauth」は、キーボードの対話型認証をbsdauthデバイスに制限します。

公開鍵方式が複数回リストされている場合、sshd（8）は、正常に使用された鍵が後続の認証に再利用されていないことを確認します。たとえば、「publickey、publickey」では、2つの異なる公開鍵を使用して認証を成功させる必要があります。

リストされている各認証方法も、構成で明示的に有効にする必要があることに注意してください。

使用可能な認証方法は、「gssapi-with-mic」、「hostbased」、「keyboard-interactive」、「none」（PermitEmptyPasswordsが有効になっている場合にパスワードなしのアカウントへのアクセスに使用）、「password」、「publickey」です。

AuthorizedKeysCommand
ユーザーの公開鍵を検索するために使用するプログラムを指定します。プログラムはrootが所有している必要があり、グループや他のユーザーが書き込み可能でなく、絶対パスで指定する必要があります。 AuthorizedKeysCommandの引数は、TOKENSセクションで説明されているトークンを受け入れます。引数が指定されていない場合は、ターゲットユーザーのユーザー名が使用されます。
プログラムは、標準出力で0行以上のauthorized_keys出力を生成する必要があります（sshd（8）のAUTHORIZED_KEYSを参照）。 AuthorizedKeysCommandは、通常のAuthorizedKeysFileファイルの後に試行され、一致するキーがそこで見つかった場合は実行されません。デフォルトでは、AuthorizedKeysCommandは実行されません。

AuthorizedKeysCommandUser
AuthorizedKeysCommandが実行されるアカウントのユーザーを指定します。許可されたキーコマンドを実行する以外に、ホスト上で他の役割を持たない専用ユーザーを使用することをお勧めします。 AuthorizedKeysCommandが指定されているが、AuthorizedKeysCommandUserが指定されていない場合、sshd（8）は開始を拒否します。
AuthorizedKeysFile
ユーザー認証に使用される公開鍵を含むファイルを指定します。このフォーマットは、sshd（8）のAUTHORIZED_KEYS FILEFORMATセクションで説明されています。 AuthorizedKeysFileの引数は、TOKENSセクションで説明されているトークンを受け入れます。拡張後、AuthorizedKeysFileは、絶対パスまたはユーザーのホームディレクトリからの相対パスと見なされます。複数のファイルが空白で区切られてリストされる場合があります。または、このオプションをnoneに設定して、ファイル内のユーザーキーのチェックをスキップすることもできます。デフォルトは「.ssh / authorized_keys.ssh / authorized_keys2」です。
AuthorizedPrincipalsCommand
AuthorizedPrincipalsFileに従って、許可された証明書プリンシパルのリストを生成するために使用されるプログラムを指定します。プログラムはrootが所有している必要があり、グループや他のユーザーが書き込み可能でなく、絶対パスで指定する必要があります。 AuthorizedPrincipalsCommandの引数は、TOKENSセクションで説明されているトークンを受け入れます。引数が指定されていない場合は、ターゲットユーザーのユーザー名が使用されます。
プログラムは、標準出力に0行以上のAuthorizedPrincipalsFile出力を生成する必要があります。 AuthorizedPrincipalsCommandまたはAuthorizedPrincipalsFileのいずれかが指定されている場合、認証のためにクライアントによって提供される証明書には、リストされているプリンシパルが含まれている必要があります。デフォルトでは、AuthorizedPrincipalsCommandは実行されません。

AuthorizedPrincipalsCommandUser
AuthorizedPrincipalsCommandが実行されるアカウントのユーザーを指定します。許可されたプリンシパルコマンドを実行する以外に、ホスト上で他の役割を持たない専用ユーザーを使用することをお勧めします。 AuthorizedPrincipalsCommandが指定されているが、AuthorizedPrincipalsCommandUserが指定されていない場合、sshd（8）は開始を拒否します。
AuthorizedPrincipalsFile
証明書認証に受け入れられるプリンシパル名をリストするファイルを指定します。 TrustedUserCAKeysにリストされているキーで署名された証明書を使用する場合、このファイルには名前がリストされます。認証を受けるには、名前が証明書に含まれている必要があります。名前は、キーオプションが前に付いた1行に1つずつリストされます（sshd（8）のAUTHORIZED_KEYSファイル形式で説明されています）。 「＃」で始まる空の行とコメントは無視されます。
AuthorizedPrincipalsFileへの引数は、TOKENSセクションで説明されているトークンを受け入れます。拡張後、AuthorizedPrincipalsFileは、絶対パスまたはユーザーのホームディレクトリからの相対パスと見なされます。デフォルトはnoneです。つまり、プリンシパルファイルを使用しません。この場合、証明書を受け入れるには、ユーザーのユーザー名が証明書のプリンシパルリストに表示されている必要があります。

AuthorizedPrincipalsFileは、TrustedUserCAKeysにリストされているCAを使用して認証が進行する場合にのみ使用され、principals = keyオプションが同様の機能を提供しますが、〜/ .ssh / authorized_keysを介して信頼される認証局については参照されないことに注意してください（詳細はsshd（8）を参照） 。

バナー
指定されたファイルの内容は、認証が許可される前にリモートユーザーに送信されます。引数がnoneの場合、バナーは表示されません。デフォルトでは、バナーは表示されません。
CASignatureAlgorithms
認証局（CA）による証明書の署名に許可されるアルゴリズムを指定します。デフォルトは次のとおりです。
ssh-ed25519、ecdsa-sha2-nistp256、ecdsa-sha2-nistp384、
ecdsa-sha2-nistp521、rsa-sha2-512、rsa-sha2-256、ssh-rsa
他のアルゴリズムを使用して署名された証明書は、公開鍵またはホストベースの認証には受け入れられません。

ChallengeResponseAuthentication
チャレンジレスポンス認証を許可するかどうかを指定します。 login.conf（5）のすべての認証スタイルがサポートされています。デフォルトはyesです。
ChrootDirectory
認証後にchroot（2）するディレクトリのパス名を指定します。セッションの起動時に、sshd（8）は、パス名のすべてのコンポーネントがルート所有のディレクトリであり、他のユーザーまたはグループが書き込みできないことを確認します。 chrootの後、sshd（8）は作業ディレクトリをユーザーのホームディレクトリに変更します。 ChrootDirectoryへの引数は、TOKENSセクションで説明されているトークンを受け入れます。
ChrootDirectoryには、ユーザーのセッションをサポートするために必要なファイルとディレクトリが含まれている必要があります。インタラクティブセッションの場合、これには少なくともシェル（通常はsh（1））と、null（4）、zero（4）、stdin（4）、stdout（4）、stderr（4）、およびなどの基本的な/ devノードが必要です。 tty（4）デバイス。 SFTPを使用するファイル転送セッションの場合、インプロセスsftp-serverを使用する場合、環境の追加構成は必要ありませんが、ロギングを使用するセッションでは、一部のオペレーティングシステムのchrootディレクトリ内に/ dev / logが必要になる場合があります（sftp-server（を参照） 8）詳細）。

安全のために、ディレクトリ階層がシステム上の他のプロセス（特に刑務所の外のプロセス）によって変更されないようにすることが非常に重要です。設定を誤ると、sshd（8）が検出できない安全でない環境が発生する可能性があります。

デフォルトはnoneで、chroot（2）しないことを示します。

暗号
許可される暗号を指定します。複数の暗号はコンマで区切る必要があります。指定されたリストが「+」文字で始まる場合、指定された暗号は、それらを置き換えるのではなく、デフォルトセットに追加されます。指定されたリストが「-」文字で始まる場合、指定された暗号（ワイルドカードを含む）は、それらを置き換えるのではなく、デフォルトセットから削除されます。指定されたリストが「^」文字で始まる場合、指定された暗号はデフォルトセットの先頭に配置されます。
サポートされている暗号は次のとおりです。

3des-cbc
aes128-cbc
aes192-cbc
aes256-cbc
aes128-ctr
aes192-ctr
aes256-ctr
aes128-gcm@openssh.com
aes256-gcm@openssh.com
chacha20-poly1305@openssh.com
デフォルトは次のとおりです。

chacha20-poly1305@openssh.com、
aes128-ctr、aes192-ctr、aes256-ctr、
aes128-gcm @ openssh.com、aes256-gcm @ openssh.com
使用可能な暗号のリストは、「ssh-Q暗号」を使用して取得することもできます。

ClientAliveCountMax
sshd（8）がクライアントからメッセージを受信せずに送信できるクライアントアライブメッセージの数を設定します。クライアントアライブメッセージの送信中にこのしきい値に達すると、sshdはクライアントを切断し、セッションを終了します。クライアントアライブメッセージの使用はTCPKeepAliveとは大きく異なることに注意することが重要です。クライアントアライブメッセージは暗号化されたチャネルを介して送信されるため、なりすましはできません。 TCPKeepAliveによって有効にされたTCPキープアライブオプションはスプーフィング可能です。クライアントアライブメカニズムは、クライアントまたはサーバーが接続が応答しなくなったことを知ることに依存している場合に役立ちます。
デフォルト値は3です。ClientAliveIntervalが15に設定され、ClientAliveCountMaxがデフォルトのままの場合、応答しないSSHクライアントは約45秒後に切断されます。 ClientAliveCountMaxをゼロに設定すると、接続の終了が無効になります。

ClientAliveInterval
タイムアウト間隔を秒単位で設定します。その後、クライアントからデータが受信されなかった場合、sshd（8）は暗号化されたチャネルを介してメッセージを送信し、クライアントからの応答を要求します。デフォルトは0で、これらのメッセージがクライアントに送信されないことを示します。
圧縮
ユーザーが正常に認証された後に圧縮を有効にするかどうかを指定します。引数は、yes、delayed（yesのレガシーシノニム）、またはnoである必要があります。デフォルトはyesです。
DenyGroups
このキーワードの後に​​は、スペースで区切ったグループ名パターンのリストを続けることができます。プライマリグループまたはサプリメンタルグループのリストがいずれかのパターンに一致するユーザーのログインは許可されていません。グループ名のみが有効です。数値のグループIDは認識されません。デフォルトでは、ログインはすべてのグループで許可されています。 allow / deny groupsディレクティブは、DenyGroups、AllowGroupsの順序で処理されます。
パターンの詳細については、ssh_config（5）のPATTERNSを参照してください。