/etc/ssh/sshd config
sshd_config — OpenSSH daemon configuration file
DESCRIPTION
sshd は、構成データを /etc/ssh/sshd_config (またはコマンドラインで -f を付けて指定したファ イル) から読み取る。このファイルには、キーワードと引数のペアが 1 行に 1 つずつ含まれている。各キーワードについて、最初に取得された値が使用される。'#' で始まる行と空の行は、コメントとして解釈される。引数は、スペースを含む引数を表すために、オプションで二重引用符 (") で囲むことができる。
Debian の パッケージでは、 sshd のデフォルトではないいくつかのオプションを /etc/ssh/sshd_config で標準として設定していることに注意。
- • Include /etc/ssh/sshd_config.d/*.conf
- • ChallengeResponseAuthentication no
- • X11Forwarding yes
- • PrintMotd no
- • AcceptEnv LANG LC_*
- • Subsystem sftp /usr/lib/openssh/sftp-server
- • UsePAM yes
/etc/ssh/sshd_config.d/*.conf ファイルは構成ファイルの先頭に含まれるため、ここで設定したオプ ションは /etc/ssh/sshd_config で設定したものより優先される。
使用可能なキーワードとその意味は次のとおりである (キーワードは大文字と小文字を区別し、引数は大文字と小文字を区別することに注意)。
- AcceptEnv
- クライアントから送信された環境変数がセッションの environ(7) にコピーされるものを指定する。 クライアントの設定方法については、 ssh_config の SendEnv と SetEnv を参照。 TERM 環境変数は、プロトコルで要求されるため、クライアントが擬似端末を要求するときは常に受け入れられる。 変数は名前で指定され、名前にはワイルドカード文字 '*' と '?' を含めることができる。 複数の環境変数を指定する場合は、空白で区切ったり、複数の AcceptEnv ディレクティブにまたがることができる。 環境変数の中には、制限されたユーザ環境を迂回するために使われる可能性のあるものがあることに注意。 このため、このディレクティブの使用には注意が必要である。 デフォルトでは、どのような環境変数も受け付けない。
- AddressFamily
- sshd が使用するアドレスファミリを指定する。 有効な引数は、any (既定)、inet (IPv4 のみ使用)、または inet6 (IPv6 のみ使用) である。
- AllowAgentForwarding
- ssh-agent のフォワーディングを許可するかどうかを指定する。 既定値は yes である。 エージェントフォワーディングを無効にしても、ユーザは常に自分自身のフォワーディング装置をインストールできるため、 シェルアクセスも拒否されない限り、セキュリティは向上しないことに注意。
- AllowGroups
- このキーワードの後に、スペースで区切られたグループ名パターンの一覧を続けることができる。 指定すると、主グループまたは補助グループリストがパターンの 1 つに一致する。ユーザにのみログインが許可される。グループ名のみが有効であり、数値のグループ ID は認識されない。 デフォルトでは、すべてのグループに対してログインが許可される。 allow/deny groups ディレクティブは、以下の順序で処理される。DenyGroups、AllowGroups の順に処理される。
- パターンに関する詳細については、ssh_config の PATTERNS を参照。
- AllowStreamLocalForwarding
- StreamLocal (Unix ドメインソケット) フォワーディングを許可するかどうかを指定する。 使用可能なオプションは、ストリームローカルフォワーディングを許可する。 yes (既定) または all、ストリームローカル転送をすべて禁止する no、ローカル (ssh の観点) フォワーディングのみを許可する local、およびリモートフォワーディングのみを許可する remote である。StreamLocal フォワーディングを無効にしても、ユーザがシェルアクセスを拒否しない限り、 セキュリティは向上しないことに注意。ユーザは常に自分自身の転送装置をインストールすることができるからである。
- AllowTcpForwarding
- TCP フォワーディングを許可するかどうかを指定する。 使用可能なオプションは、TCP フォワーディングを許可する yes (既定) または all、すべての TCP フォワーディングを防止する no、ローカル (ssh の観点) フォワーディングのみを許可する local、またはリモートフォワーディングのみを許可する remote である。 TCP フォワーディングを無効にしても、ユーザが常に自分自身のフォワーディング装置をインストールできるため、シェル アクセスも拒否されない限り、セキュリティは向上しないことに注意。
- AllowUsers
- このキーワードの後に、空白で区切られたユーザ名パターンのリストを続けることができる。 指定すると、パターンの 1 つに一致するユーザ名に対してのみ、ログインが許可される。 ユーザ名のみが有効であり、数値のユーザIDは認識される。 デフォルトでは、すべてのユーザーに対してログインが許可される。 パターンがUSER@HOSTの形をとる場合、USERとHOSTが別々にチェックされ、特定のホストから特定のユーザーへのログインが制限される。 HOSTの基準には、さらにCIDRアドレス/マスクレン形式で一致するアドレスを含めることができる。 allow/deny users ディレクティブは、以下の順序で処理される。DenyUsers、AllowUsers の順で処理される。
- パターンに関する詳細については、ssh_config の PATTERNS を参照。
- AuthenticationMethods
- ユーザがアクセスを許可されるために成功させる必要のある認証方法を指定する。このオプションの後には、カンマ区切りの認証方式名をひとつあるいは複数列挙するか、 あるいは any という文字列をひとつだけ指定して、単一の認証方式を受け入れるという デフォルトの挙動を示す必要がある。 デフォルトを上書きした場合、認証に成功するためには、 これらのリストの少なくともひとつに含まれるすべてのメソッドを完了させる必要がある。
- たとえば "publickey,password publickey,keyboard-interactive" の場合は、公開鍵認証の後にパスワード認証あるいは キーボード対話型認証のいずれかを行う必要がある。 したがって、この例では、公開鍵認証の前にパスワード認証やキーボード対話型認証を 試みることはできない。
- キーボード対話型認証の場合、コロンの後にデバイス識別子 bsdauth または pam を付加することで、認証を特定のデバイスに制限することも可能である。 たとえば、"keyboard-interactive:bsdauth" とすると、キーボード対話型認証を bsdauthデバイスに限定することができる。
- 公開鍵方式が複数回記載されている場合、sshd は、正常に使用された鍵がその後の認証に再使用され ないことを確認する。 たとえば、"publickey,publickey" の場合、2 つの異なる公開鍵を使用して認証に成功することが 必要である。
- リストされた各認証方法も、構成で明示的に有効にする必要があることに注意。
- 利用可能な認証方式は次のとおり: "gssapi-with-mic"、"hostbased"、"keyboard-interactive"、"none" (PermitEmptyPasswords が有効な場合にパスワードなしアカウントへのアクセスに使用)、"password"、および "publickey"である。
- AuthorizedKeysCommand
- ユーザーの公開鍵を検索するために使用するプログラムを指定する。 プログラムは、root が所有し、group およびその他によって書き込み可能でなく、絶対パスで指定する必要がある。 AuthorizedKeysCommand への引数は、TOKENS セクションで説明されているトークンを受け付ける。 引数が指定されない場合、ターゲットユーザーのユーザー名が使用される。
- プログラムは、標準出力に 0 行以上の authorized_keys 出力 (sshd の AUTHORIZED_KEYS を参照) を生成する必要がある。 AuthorizedKeysCommand は、通常の AuthorizedKeysFile ファイルの後に試行され、一致する鍵がそこで見つかった場合は、実行されない。 デフォルト既定では、AuthorizedKeysCommand は実行されない。
- AuthorizedKeysCommandUser
- AuthorizedKeysCommand を実行するアカウントを持つユーザーを指定する。 ホスト上で認証鍵コマンドを実行する以外の役割を持たない専用ユーザを使用することをお 勧めする。 AuthorizedKeysCommand が指定され、AuthorizedKeysCommandUser が指定されていない場合、 sshd は起動を拒否される。
- AuthorizedKeysFile
- ユーザ認証に使用される公開鍵が含まれるファイルを指定します。 その形式は、sshd の"AUTHORIZED_KEYS FILE FORMAT"セクショ ンに記載されています。 AuthorizedKeysFile への引数は、"TOKENS"セクションで説明されているトークンを受け付ける。 展開後、AuthorizedKeysFile は、絶対パスまたはユーザのホームディレクトリからの相対パスとし て扱われる。 複数のファイルを空白で区切ってリストすることができる。 また、このオプションを none に設定すると、ファイル内のユーザ鍵のチェックを省略することができる。 既定値は、".ssh/authorized_keys .ssh/authorized_keys2"である。
- AuthorizedPrincipalsCommand
- AuthorizedPrincipalsFile に従って、許可された証明書プリンシパルのリストを生成するために使用されるプログラムを指定する。 プログラムは、root が所有し、group またはその他によって書き込み可能でなく、絶対パスによって指定する必要がある。 AuthorizedPrincipalsCommand への引数は、TOKENS セクションで説明されているトークンを受け付ける。 引数が指定されない場合、ターゲットユーザーのユーザー名が使用される。
- プログラムは、標準出力に0行以上のAuthorizedPrincipalsFile出力を生成する必要がある。 AuthorizedPrincipalsCommand または AuthorizedPrincipalsFile のいずれかが指定された場合、クライアントが認証用に提供する証明書には、このリストに記載されている校長が含まれていなければならない。 デフォルトでは、AuthorizedPrincipalsCommand は実行されない。
- AuthorizedPrincipalsCommandUser
- AuthorizedPrincipalsCommand を実行するアカウントを持つユーザーを指定する。 ホスト上で authorized principals コマンドを実行する以外の役割を持たない専用ユーザを使用することをお勧めする。 AuthorizedPrincipalsCommand が指定され、AuthorizedPrincipalsCommandUser が指定されていない場合、 sshd は起動を拒否される。
- AuthorizedPrincipalsFile
- 証明書認証に受け入れられるプリンシパル名を列挙したファイルを指定する。 TrustedUserCAKeys にリストされている鍵によって署名された証明書を使用する場合、このファ イルには名前がリストされ、そのうちの 1 つが証明書に含まれていなければ、認証に使用するこ とはできない。 名前は 1 行に 1 つずつ表示され、その前に鍵オプション (sshd の"AUTHORIZED_KEYS FILE FORMAT"の説明による) が表示される。 空白行と "#" で始まるコメントは無視される。
- AuthorizedPrincipalsFile への引数には、"TOKENS" のセクションで説明されているトークンを使用で きる。 展開後、AuthorizedPrincipalsFile は、絶対パスまたはユーザーのホームディレクトリからの相対パスとみなされる。デフォルトはnone、つまりプリンシパルファイルを使用しないことである。この場合、証明書を受け入れるためには、ユーザのユーザ名が証明書のプリンシパルリストに表示されていなければならない。
- AuthorizedPrincipalsFile は、TrustedUserCAKeys にリストされている CA を使用して認証を行う場合にのみ使用され、 ~/.ssh/authorized_keys を介して信頼できる認証局には照会されないことに注意。
- Banner
- 認証が許可される前に、指定されたファイルの内容がリモートユーザーに送信される。 引数が none の場合、バナーは表示されない。 デフォルトでは、バナーは表示されない。
- CASignatureAlgorithms
- 認証局(CA)による証明書への署名に許可されるアルゴリズムを指定する。 デフォルトは
ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521, ssh-ed25519,rsa-sha2-512,rsa-sha2-256,ssh-rsa
- 他のアルゴリズムで署名された証明書は、公開鍵認証またはホストベース認証では受理されない。
- ChallengeResponseAuthentication
- チャレンジ・レスポンス認証を許可するかどうかを指定する (例: PAM 経由)。 デフォルトは yes である。
- ChrootDirectory
- 認証後に chroot するためのディレクトリのパス名を指定する。 セッションの開始時に sshd は、パス名のすべての構成要素が、他のユーザまたはグループによって 書き込み可能ではない、ルートが所有するディレクトリであることを確認する。 chroot の後、 sshd は作業ディレクトリをユーザのホームディレクトリに変更する。 ChrootDirectory への引数は、TOKENS のセクションで説明されているトークンを受け 取ることができる。
- ChrootDirectory には、ユーザのセッションをサポートするために必要なファイルと ディレクトリが含まれていなければならない。 対話型セッションの場合、少なくともシェル、典型的には sh と null(4), zero(4), stdin(4), stdout(4), stderr(4), tty(4) デバイスのような /dev の基本ノードが必要とされる。 SFTP を使用したファイル転送セッションでは、プロセス内の sftp-server を使用する場合、 環境の追加設定は必要ないが、ログを使用するセッションでは、オペレーティングシステムによっては chroot ディレクトリ内の /dev/log が必要である (詳細については sftp-server を参照)。
- 安全のために、システム上の他のプロセス (特に jail の外部プロセス) によってディレクトリ階層が変更されないようにすることが非常に重要である。 設定を誤ると、sshd が検出できないような安全でない環境になってしまう可能性がある。
- デフォルトは none で、chroot を行わないことを指示する。
- Ciphers
- 許可する暗号を指定する。 複数の暗号をカンマ区切りで指定する必要がある。 指定したリストが'+'文字で始まる場合、指定した暗号はデフォルトセットに追加され、置き換えられない。 指定したリストが'-'文字で始まる場合、指定した暗号 (ワイルドカードを含む) はデフォルトセットから削除され、置き換わらない。 指定されたリストが'^'文字で始まる場合、指定された暗号はデフォルトセットの先頭に配置される。
- サポートされている暗号は次のとおり:
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 cipherを使用して取得することもできる。
- ClientAliveCountMax
- sshd がクライアントからのメッセージの返事を受け取らずに送信できるクライアントアライブメッセージの数を設定する。 クライアントアライブメッセージの送信中にこの閾値に達した場合、 sshd はクライアントを切断し、セッションを終了させる。 クライアントアライブメッセージの使い方は、TCPKeepAlive とは全く異なるということに注意すること。 クライアントアライブメッセージは、暗号化されたチャネルを介して送信されるため、スプーフィングが可能ではない。 TCPKeepAliveで有効なTCP keepaliveオプションは、なりすましが可能である。クライアントアライブのメカニズムは、クライアントやサーバーが接続が応答しなくなったときを知ることに依存している場合に有効である。
クライアントアライブ機構は、クライアントまたはサーバーが、接続が応答しなくなったことを知ることに依存している場合に有用である。
- ClientAliveIntervalを15に設定し、ClientAliveCountMaxをデフォルトのままにすると、応答がないSSHクライアントは約45秒後に切断される。 ClientAliveCountMaxを0に設定すると、接続終了が無効になる。
- ClientAliveInterval
- クライアントからデータを受信しなかった場合、sshd は、クライアントからの応答を 要求するメッセージを暗号化されたチャネルを介して送信するまでのタイムアウト間隔を秒単位で設定する。 既定値は 0 で、このメッセージはクライアントに送信されないことを意味する。
- Compression
- ユーザの認証が成功した後に圧縮を可能にするかどうかを指定する。引数は、yes、delayed(yesの旧同義語)またはnoでなければならない。 デフォルトはyesである。
- DebianBanner
- 最初のプロトコルのハンドシェイク時に、ディストリビューションが指定する追加バージョンサフィックスを含めるかどうかを指定する。 デフォルトはyesである。
- DenyGroups
- このキーワードの後に、スペースで区切られたグループ名パターンのリストを続けることができる。 主グループまたは補助グループのリストがパターンの 1 つに一致するユーザは、ログインが許可されない。 グループ名のみが有効であり、数値のグループ ID は認識されない。 デフォルトでは、すべてのグループに対してログインが許可される。 allow/deny groups ディレクティブは、次の順序で処理される。DenyGroups、AllowGroups の順に処理される。
- パターンに関する詳細については、ssh_config の PATTERNS を参照。
- DenyUsers
- このキーワードの後には、ユーザ名のパターンをスペースで区切って列挙することができる。 パターンの 1 つに一致するユーザ名では、ログインは許可されない。 ユーザ名のみが有効であり、数値のユーザ ID は認識されない。 デフォルトでは、すべてのユーザーに対してログインが許可される。 パターンがUSER@HOSTの形をとる場合、USERとHOSTが別々にチェックされ、特定のホストから特定のユーザーへのログインが制限される。 HOSTの基準には、さらにCIDRアドレス/マスクレン形式で一致するアドレスを含めることができる。 allow/deny users ディレクティブは以下の順序で処理される。DenyUsers、AllowUsers の順で処理される。
- パターンに関する詳細については、ssh_config の PATTERNS を参照。
- DisableForwarding
- X11、ssh-agent、TCP および StreamLocal を含む、すべてのフォワーディング機能を無効にする。 このオプションは、他のすべてのフォワーディング関連オプションを上書きし、制限された構成を簡略化することができる。
- ExposeAuthInfo
- ユーザを認証するために使用した認証方法と公開認証情報 (鍵など) の一覧を含む一時ファイルを書き込む。 このファイルの場所は、環境変数 SSH_USER_AUTH を通してユーザーセッションに公開される。 デフォルトは no である。
- FingerprintHash
- 鍵のfingerprintを記録するときに使用するハッシュアルゴリズムを指定する。 有効なオプションは、md5 および sha256 である。 デフォルトはsha256である。
- ForceCommand
- ForceCommand で指定されたコマンドを強制的に実行する。クライアントおよび ~/.ssh/rc が存在す る場合は、それらによって提供されたコマンドは無視される。 コマンドは、ユーザーのログインシェルに -c オプションを付けて使用することで呼び出される。これは、シェル、コマンド、またはサブシステムの実行に適用される。 これは、マッチブロックの内部で最も有用である。 クライアントが最初に提供したコマンドは、環境変数 SSH_ORIGINAL_COMMAND で使用できる。internal-sftp のコマンドを指定すると、ChrootDirectory と共に使用する場合、サポートファイルを必要としないプロセス内 SFTP サーバーを使用するように強制される。 デフォルトは none である。
- GatewayPorts
- リモートホストが、クライアント用にフォワーディングされたポートへの接続を許可されるかどうかを指定する。 既定では、sshd は、リモートポートフォワーディングをループバックアドレスにバインドする。 これにより、他のリモートホストがフォワーディングされたポートに接続できなくなる。 GatewayPorts を使用すると、sshd がリモートポートフォワーディングをループバックアドレス以外のアドレスにバインドすることを許可し、他のホストが接続できるようにするように指定することができる。 引数には、リモートポートフォワーディングをローカルホストのみで使用できるようにする no、リモートポートフォワーディングをワイルドカードアドレスにバインドするyes、またはフォワーディング先のアドレスをクライアントが選択できるようにするclientspecified を指定することができる。 デフォルトはnoである。
- GSSAPIAuthentication
- GSSAPIに基づくユーザー認証を許可するかどうかを指定する。 デフォルトは'no'である。
- GSSAPICleanupCredentials
- ログアウト時にユーザーの認証情報キャッシュを自動的に破棄するかどうかを指定する。 デフォルトは 'yes' である。
- GSSAPIKeyExchange
- GSSAPI に基づく鍵交換を許可するかどうかを指定する。GSSAPI による鍵交換は、ホストの ID を確認するために ssh 鍵に依存しない。 デフォルトは 'no' である。
- GSSAPIStrictAcceptorCheck
- クライアントが認証する GSSAPI アクセプタの識別を厳密に行うかどうかを決定する。yesに設定すると、クライアントは現在のホスト名上のホストサービスに対して認証を行う必要がある。 noに設定すると、クライアントはマシンのデフォルトストアに保存されている任意のサービスキーに対して認証することができる。この機能は、マルチホームのマシンでの操作を支援するために提供されている。 デフォルトは 'yes' である。
- GSSAPIStoreCredentialsOnRekey
- 接続の再キーイングに成功した後、ユーザーの GSSAPI 認証情報を更新するかどうかを制御する。このオプションは、互換性のあるクライアントから更新または更新された認証情報を受け入れるために使用される。デフォルトは 'no' である。
- このオプションを使用するには、GSSAPIKeyExchangeがサーバーで有効になっており、クライアントでも使用されている必要がある。
- GSSAPIKexAlgorithms
- GSSAPI鍵交換が受け付ける鍵交換アルゴリズムのリスト。使用可能な値は以下の通り。
gss-gex-sha1-, gss-group1-sha1-, gss-group14-sha1-, gss-group14-sha256-, gss-group16-sha512-, gss-nistp256-sha256-, gss-curve25519-sha256-
- デフォルトは
“gss-group14-sha256-,gss-group16-sha512-,gss-nistp256-sha256-,gss-curve25519-sha256-,gss-gex-sha1-,gss-group14-sha1-”.
- このオプションは、GSSAPIを使用した接続時のみ適用される。
- HostbasedAcceptedKeyTypes
- ホストベース認証で受け入れる鍵の種類を、カンマで区切ったパターンの一覧として指定する。 指定したリストが '+' 文字で始まる場合、指定した鍵の種類は、既定のセットを置き換えるのではなく、それに追加される。 指定されたリストが '-' 文字で始まる場合、指定されたキータイプ(ワイルドカードを含む)は、デフォルトセットから削除され、置き換えられることはない。 指定されたリストが '^' 文字で始まる場合、指定されたキータイプはデフォルトセットの先頭に配置される。 このオプションのデフォルトは次のとおり:
ecdsa-sha2-nistp256-cert-v01@openssh.com, ecdsa-sha2-nistp384-cert-v01@openssh.com, ecdsa-sha2-nistp521-cert-v01@openssh.com, sk-ecdsa-sha2-nistp256-cert-v01@openssh.com, ssh-ed25519-cert-v01@openssh.com, sk-ssh-ed25519-cert-v01@openssh.com, rsa-sha2-512-cert-v01@openssh.com, rsa-sha2-256-cert-v01@openssh.com, ssh-rsa-cert-v01@openssh.com, ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521, sk-ecdsa-sha2-nistp256@openssh.com, ssh-ed25519,sk-ssh-ed25519@openssh.com, rsa-sha2-512,rsa-sha2-256,ssh-rsa
- 利用可能な鍵の種類の一覧は、ssh -Q HostbasedAcceptedKeyTypesを使用して取得することも可能である。
- HostbasedAuthentication
- rhosts または /etc/hosts.equiv 認証と、成功した公開鍵クライアントホスト認証の両方を許可するかどうか (ホストベース認証) を指定する。 デフォルトは 'no' である。
- HostbasedUsesNameFromPacketOnly
- HostbasedAuthentication 時に ~/.shosts、~/.rhosts、および /etc/hosts.equiv ファイル内の名前を照合する際に、サーバで名前の逆引きを試みるかどうか を指定する。 yes の設定は、sshd が TCP 接続自体から名前を解決しようとするのではなく、クライアントから提供された名前を使用することを意味する。 デフォルトは 'no' である。
- HostCertificate
- 公開ホスト証明書を含むファイルを指定する。 証明書の公開鍵は、HostKey で既に指定されているホスト秘密鍵に一致する必要がある。sshd のデフォルトの動作は、いかなる証明書も読み込まないことである。
- HostKey
- SSH で使用されるホスト秘密鍵が含まれるファイルを指定する。 デフォルトは /etc/ssh/ssh_host_ecdsa_key、/etc/ssh/ssh_host_ed25519_key および /etc/ssh/ssh_host_rsa_keyである。
- sshd は、ファイルが group/world-accessible である場合、 その使用を拒否することに注意すること。また、 HostKeyAlgorithms オプションは、 sshd が実際に使用する鍵を制限することに注意すること。
- 複数のホスト鍵ファイルを持つことが可能である。 また、公開鍵ファイルを指定することも可能である。 この場合、秘密鍵に対する操作は ssh-agent に委ねられる。
- HostKeyAgent
- ホスト秘密鍵にアクセスできるエージェントとの通信に使用する UNIX ドメインのソケットを指定する。 文字列 "SSH_AUTH_SOCK" を指定した場合、ソケットの場所は環境変数 SSH_AUTH_SOCK から読み取られる。
- HostKeyAlgorithms
- サーバーが提供するホスト鍵のアルゴリズムを指定する。 このオプションのデフォルトは
ecdsa-sha2-nistp256-cert-v01@openssh.com, ecdsa-sha2-nistp384-cert-v01@openssh.com, ecdsa-sha2-nistp521-cert-v01@openssh.com, sk-ecdsa-sha2-nistp256-cert-v01@openssh.com, ssh-ed25519-cert-v01@openssh.com, sk-ssh-ed25519-cert-v01@openssh.com, rsa-sha2-512-cert-v01@openssh.com, rsa-sha2-256-cert-v01@openssh.com, ssh-rsa-cert-v01@openssh.com, ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521, sk-ecdsa-sha2-nistp256@openssh.com, ssh-ed25519,sk-ssh-ed25519@openssh.com, rsa-sha2-512,rsa-sha2-256,ssh-rsa
- 利用可能な鍵の種類の一覧は、ssh -Q HostKeyAlgorithms を使用して取得することもできる。
- IgnoreRhosts
- HostbasedAuthentication 時にユーザごとの .rhosts および .shosts ファイルを無視するかどうかを指定する。 システム全体の /etc/hosts.equiv および /etc/ssh/shosts.equiv は、この設定に関係なく引き続き使用される。
- 許容される値は、すべてのユーザごとのファイルを無視するyes (既定)、.shosts の使用を 許可するが .rhosts は無視するshosts-only、または .shosts と rhosts の両方を許可するno である。
- IgnoreUserKnownHosts
- HostbasedAuthentication 時に sshd がユーザの ~/.ssh/known_hosts を無視し、システム 全体の既知のホストファイル /etc/ssh/known_hosts のみを使用するかどうかを指定する。 デフォルトは "no" である。
- Include
- 指定された設定ファイルを含める。 複数のパス名を指定することができ、各パス名には glob(7) ワイルドカードを含めることができ、これらは辞書順に展開および処理される。 絶対パスがないファイルは、/etc/ssh にあると見なされる。 Include ディレクティブは、条件付きインクルージョンを実行するために、 Match ブロックの中に現れるかもしれない。
- IPQoS
- 接続の IPv4 タイプオブサービスまたは DSCP クラスを指定する。 使用できる値は、af11、af12、af13、af21、af22、af23、af31、af32、af33、af41、af42、af43、cs0、cs1、cs2、cs3、cs4、cs5、cs6、cs7、ef、le、lowdelay、throughput、reliance、numeric value または OS デフォルト値を使用する none のいずれかとなる。 このオプションは、空白文字で区切られた1つまたは2つの引数を取ることができる。 1つの引数を指定した場合,その引数は無条件にパケットクラスとして使用される。 2つの値が指定された場合、最初の値は対話型セッションで、2番目の値は非対話型セッションで自動的に選択される。 デフォルトは、インタラクティブセッションの場合はlowdelay、非インタラクティブセッションの場合はthroughputである。
- KbdInteractiveAuthentication
- キーボード対話型認証を許可するかどうかを指定する。 このキーワードの引数には、yes または no を指定する必要がある。 デフォルトでは、ChallengeResponseAuthentication に設定されている値 (デフォルトでは yes) が使用される。
- KerberosAuthentication
- PasswordAuthentication でユーザーが提供したパスワードが Kerberos KDC を通して検証されるかどうかを指定する。 このオプションを使用するには、サーバーに、KDCのIDの検証を可能にするKerberos servtabが必要である。 デフォルトは 'no' である。
- KerberosGetAFSToken
- AFSが有効で、ユーザーがKerberos 5のTGTを持っている場合、ユーザーのホームディレクトリにアクセスする前に、AFSトークンの取得を試みる。 デフォルトは 'no'である。
- KerberosOrLocalPasswd
- Kerberosによるパスワード認証が失敗した場合、/etc/passwdのような追加のローカルメカニズムによってパスワードが検証される。 デフォルトは 'yes' である。
- KerberosTicketCleanup
- ログアウト時にユーザーのチケットキャッシュファイルを自動的に破棄するかどうかを指定する。 デフォルトは 'yes' である。
- KexAlgorithms
- 利用可能な KEX (Key Exchange) アルゴリズムを指定する。 複数のアルゴリズムをカンマ区切りで指定する必要がある。 指定したリストが '+' 文字で始まる場合、指定したメソッドはデフォルトのセットに追加され、置き換えられなくなる。 指定したリストが '-' 文字で始まる場合、指定したメソッド (ワイルドカードを含む) はデフォルトセットから削除され、置き換えは行われない。指定されたリストが '^' 文字で始まる場合、指定されたメソッドは既定のセットの先頭に配置される。サポートされているアルゴリズムは以下のとおり:
curve25519-sha256 curve25519-sha256@libssh.org diffie-hellman-group1-sha1 diffie-hellman-group14-sha1 diffie-hellman-group14-sha256 diffie-hellman-group16-sha512 diffie-hellman-group18-sha512 diffie-hellman-group-exchange-sha1 diffie-hellman-group-exchange-sha256 ecdh-sha2-nistp256 ecdh-sha2-nistp384 ecdh-sha2-nistp521 sntrup4591761x25519-sha512@tinyssh.org
- デフォルトは
curve25519-sha256,curve25519-sha256@libssh.org, ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521, diffie-hellman-group-exchange-sha256, diffie-hellman-group16-sha512,diffie-hellman-group18-sha512, diffie-hellman-group14-sha256
- 利用可能な鍵交換アルゴリズムの一覧は、ssh -Q KexAlgorithms を使用して取得することも可能である。
- ListenAddress
- sshd がリッスンするローカルアドレスを指定する。 以下の形式が使用可能である。
ListenAddress hostname|address [rdomain domain] ListenAddress hostname:port [rdomain domain] ListenAddress IPv4_address:port [rdomain domain] ListenAddress [hostname|address]:port [rdomain domain]
- オプションの rdomain 修飾子は、sshd が明示的なルーティングドメインで待ち受けることを要求する。 port が指定されていない場合、sshd は指定されたアドレスとすべての Port オプションで待ち受ける。 デフォルトでは、現在のデフォルトのルーティングドメイン上のすべてのローカルアドレスで待ち受ける。 複数の ListenAddress オプションが許可される。ルーティングドメインの詳細については、rdomain(4) を参照。
- LoginGraceTime
- サーバーは、ユーザーが正常にログインしていない場合、この時間後に切断する。 0を指定すると、時間制限はない。 デフォルトは120秒である。
- LogLevel
- sshd からのメッセージをログ記録する際に使用される冗長レベルを指定する。 指定できる値は以下のとおりです。QUIET、FATAL、ERROR、INFO、VERBOSE、DEBUG、DEBUG1、DEBUG2、および DEBUG3 である。 デフォルトはINFOである。 DEBUG と DEBUG1 は同等である。 DEBUG2 と DEBUG3 はそれぞれ、より高いレベルのデバッグ出力を指定する。 DEBUG レベルでのログ記録は、ユーザーのプライバシーを侵害するため、推奨されない。
- MACs
- 利用可能なMAC(メッセージ認証コード)アルゴリズムを指定する。 MAC アルゴリズムは、データの完全性保証に使用される。 複数のアルゴリズムをカンマ区切りで指定する必要がある。 指定したリストが '+' 文字で始まる場合、指定したアルゴリズムはデフォルトのセットと置き換わるのではな く、追加される。 指定したリストが '-' 文字で始まる場合、指定したアルゴリズム (ワイルドカードを含む) はデフォルトセットから削除され、置き換わることはない。 指定されたリストが '^' 文字で始まる場合、指定されたアルゴリズムはデフォルトセットの先頭に置かれる。
- "-etm"を含むアルゴリズムは、暗号化した後にMACを計算する(encrypt-then-mac)。 これらはより安全であると考えられており、その使用が推奨される。 サポートされているMACは以下の通り。
hmac-md5 hmac-md5-96 hmac-sha1 hmac-sha1-96 hmac-sha2-256 hmac-sha2-512 umac-64@openssh.com umac-128@openssh.com hmac-md5-etm@openssh.com hmac-md5-96-etm@openssh.com hmac-sha1-etm@openssh.com hmac-sha1-96-etm@openssh.com hmac-sha2-256-etm@openssh.com hmac-sha2-512-etm@openssh.com umac-64-etm@openssh.com umac-128-etm@openssh.com
- デフォルトは
umac-64-etm@openssh.com,umac-128-etm@openssh.com, hmac-sha2-256-etm@openssh.com,hmac-sha2-512-etm@openssh.com, hmac-sha1-etm@openssh.com, umac-64@openssh.com,umac-128@openssh.com, hmac-sha2-256,hmac-sha2-512,hmac-sha1
- 利用可能な MAC アルゴリズムのリストは、ssh -Q macを使用して取得することもできる。
- Match
- 条件ブロックを導入する。 Match 行の条件がすべて満たされると、次の Match 行またはファイルの終端まで、 設定ファイルのグローバルセクションで設定されたキーワードが上書きされる。 あるキーワードが複数の Match ブロックに出現し、それが満たされた場合、そのキーワードの最初のインスタンスのみが適用される。
- Matchの引数は、1つ以上のクライテリアとパターンのペア、またはすべてのクライテリアに一致する単一のトークンであるAllである。 利用可能な基準は、User、Group、Host、LocalAddress、LocalPort、RDomain、および Address (RDomain は、接続を受信した rdomain(4) を表す) である。
- 一致するパターンは、単一のエントリまたはカンマで区切られたリストから構成され、 ssh_config の PATTERNS セクションで説明されているワイルドカードおよび否定の演算子を使用することができる。
- アドレス基準のパターンには、さらに 192.0.2.0/24 や 2001:db8::/32 のような CIDR アドレス/マスクレン形式で一致させるアドレスを含めることができる。 アドレスに対して長すぎるマスク長を指定したり、アドレスのこのホスト部分にビットが設定されているものを指定すると、エラーになる。 例えば、192.0.2.0/33と192.0.2.0/8はそれぞれ、192.0.2.0/33である。
- Matchキーワードに続く行では、キーワードのサブセットのみを使用することができる。 使用できるキーワードは、AcceptEnv、AllowAgentForwarding、AllowGroups、AllowStreamLocalForwarding、AllowTcpForwarding、AllowUsers、AuthenticationMethods、AuthorizedKeysCommand、 AuthorizedKeysCommandUser、AuthorizedKeysFile、AuthorizedPrincipalsCommand です。AuthorizedPrincipalsCommandUser, AuthorizedPrincipalsFile, Banner, ChrootDirectory, ClientAliveCountMax, ClientAliveInterval, DenyGroups, DenyUsers, ForceCommand, GatewayPorts, GSSAPIAuthentication, HostbasedAcceptedKeyTypes, HostbasedAuthentication.User, AuthorizedPrincipalsFile (Banner), HostbasedUsesNameFromPacketOnly, IgnoreRhosts, Include, IPQoS, KbdInteractiveAuthentication, KerberosAuthentication, LogLevel, MaxAuthTries, MaxSessions, PasswordAuthentication, PermitEmptyPasswords, PermitListen, PermitOpen, PermitRootLogin.Person, PermitTY, PermitOpen, PermitLogin.HostbasedUsesNamePacketOnly, IPQoS, KerberosAuthentication,HostsLogetTries, PermitTry, MaxSessions, PasswordAuthentication, PermitEmptyPasswords, PermitListen, PermitOpen, PermitRootLogin, PermitTTY, PermitTunnel, PermitUserRC, PubkeyAcceptedKeyTypes, PubkeyAuthentication, RekeyLimit, RevokedKeys, RDomain, SetEnv, StreamLocalBindMask, StreamLocalBindUnlink, TrustedUserCAK Keys, X11DisplayOffset, X11Forwarding および X11UseLocalhost。
- MaxAuthTries
- 接続ごとに許可される認証の最大試行回数を指定する。 失敗の回数がこの値の半分に達すると、追加の失敗が記録されます。 既定値は 6 である。
- MaxSessions
- ネットワーク接続ごとに許可されるオープンシェル、ログイン、またはサブシステム (sftp など) セッションの最大数を指定する。 接続の多重化に対応しているクライアントでは、複数のセッションが確立されることがある。 MaxSessions を 1 に設定すると、セッションの多重化が効果的に無効になり、0 に設定すると、すべてのシェル、 ログイン、およびサブシステムのセッションが無効になるが、フォワーディングは許可される。 デフォルトは 10 である。
- MaxStartups
- SSH デーモンへの未認証の同時接続の最大数を指定する。 認証に成功するか、接続のLoginGraceTimeが切れるまで、追加の接続は切断される。デフォルトは 10:30:100 である。
- また、コロンで区切られた 3 つの値 start:rate:full (例: "10:30:60") を指定することで、ランダムな早期切断を有効にすることができる。sshd は、現在、start (10) の未認証接続がある場合、 rate/100 (30%) の確率で、接続の試行を拒否する。 この確率は直線的に増加し、未認証接続の数が full (60) に達すると、すべての接続の試行が拒否される。
- PasswordAuthentication
- パスワード認証を許可するかどうかを指定する。デフォルトは 'yes' である。
- PermitEmptyPasswords
- パスワード認証を許可するとき、サーバが空のパスワード文字でログインを許容するかどうかを指定する。デフォルトは 'no' である。
- PermitListen
- リモートTCPポートフォワーディングがリッスンできるアドレス/ポートを指定する。 listen指定は、以下のいずれかの形式である必要がある。
PermitListen port PermitListen host:port
- 空白で区切ることにより、複数のパーミッションを指定することができる。 any の引数は、すべての制限を解除し、すべてのリスンリクエストを許可するために使用することができる。 noneの引数は、すべてのリスンリクエストを禁止するために使われる。 ホスト名には、ssh_config の PATTERNS セクションで説明されているように、ワイルドカー ドを含めることができる。 また、ポート番号の代わりにワイルドカード '*' を使用して、すべてのポートを許可すること もできる。 既定では、すべてのポートフォワーディングリスン要求が許可される。 GatewayPorts オプションは、どのアドレスが listen されるかをさらに制限することができることに注意。 また、ssh は、リスンホストが特に要求されなかった場合、 「localhost」というリスンホストを要求し、この名前は、明示的な localhost アドレスの 「127.0.0.1」および「::1」とは異なって扱われることに注意すること。
- PermitOpen
- TCP ポートフォワーディングを許可する宛先を指定する。 フォワーディング指定は、以下のいずれかの形式である必要がある。
PermitOpen host:port PermitOpen IPv4_addr:port PermitOpen [IPv6_addr]:port
- 空白で区切ることにより、複数のフォワーディングを指定することができる。 引数 any は、すべての制限を解除し、すべてのフォワーディング要求を許可するために使用することができる。 引数noneは、すべてのフォワーディング要求を禁止するために使用される。 ワイルドカードの '*' をホストとポートに使用すると、それぞれすべてのホストとポートを許可することができる。 それ以外の場合、与えられた名前に対してパターンマッチやアドレス検索は行われ ません。 デフォルトでは、すべてのポートフォワーディング要求が許可される。
- PermitRootLogin
- root が ssh を使用してログインできるかどうかを指定する。 引数には、yes、bunhibit-password、forced-commands-only、または no を指定する必要がある。 デフォルトは prohibit-password である。
- このオプションを prohibit-password (または、非推奨のエイリアスの without-password) に設定すると、 root に対してパスワードおよびキーボード対話型認証が無効になる。
- このオプションを forced-commands-only に設定すると、公開鍵認証による root ログインが許可されるが、これは command オプションが指定された場合のみである (root ログインが通常許可されない場合でも、リモートバックアップを取るのに便利な場合がある)。 他のすべての認証方法は、rootに対して無効になる。
- このオプションをnoに設定すると、rootのログインは許可されない。
- PermitTTY
- pty(4)割り当てを許可するかどうかを指定する。デフォルトは、'yes'である。
- PermitTunnel
- tun(4) デバイスのフォワーディングを許可するかどうかを指定する。 引数は、yes、point-to-point(レイヤ 3)、ethernet(レイヤ 2)、または no でなければならない。 yes を指定すると、point-to-point と ethernet の両方が許可される。 デフォルトはnoである。
- この設定とは無関係に、選択された tun(4) デバイスの権限は、ユーザへのアクセスを許可しなければならない。
- PermitUserEnvironment
- sshd で ~/.ssh/environment および ~/.ssh/authorized_keys の environment= オプションが処理されるかどうかを指定する。 有効なオプションは、yes、no、または受け入れる環境変数名を指定するパターンリストである (例 : 「LANG,LC_*」)。 既定値は no である。 環境処理を有効にすると、LD_PRELOAD のようなメカニズムを使用するいくつかの構成で、ユーザがアクセス制限を回避することができるようになる場合がある。
- PermitUserRC
- 任意の ~/.ssh/rc ファイルを実行するかどうかを指定する。 既定値は yes である。
- PidFile
- SSH デーモンのプロセス ID を含むファイルを指定するか、書き込まない場合は none を指定する。 デフォルトは /run/sshd.pid である。
- Port
- sshd がリッスンするポート番号を指定する。 既定値は 22 です。 このタイプのオプションは複数指定することができる。 ListenAddressも参照すること。
- PrintLastLog
- ユーザが対話式にログインする際に、sshd が最後のユーザログインの日付と時刻を表示 するかどうかを指定する。 デフォルトは yes である。
- PrintMotd
- ユーザが対話的にログインする際に、sshd が /etc/motd を表示するかどうかを指定する。 (システムによっては、シェル、/etc/profile、またはそれと同等のものによって も表示される)。デオフォルトは yes である。
- PubkeyAcceptedKeyTypes
- 公開鍵認証に使用する鍵の種類を、カンマ区切りのパターンの一覧として指定する。 指定したリストが '+' 文字で始まる場合は、指定した鍵の種類がデフォルトのセットに追加され、置き換えられなくなる。 指定されたリストが '-' 文字で始まる場合、指定されたキータイプ(ワイルドカードを含む)はデフォルトセットから削除され、置き換えは行われない。 指定されたリストが '^' 文字で始まる場合、指定されたキータイプはデフォルトセットの先頭に配置される。 このオプションのデフォルトは次のとおり:
ecdsa-sha2-nistp256-cert-v01@openssh.com, ecdsa-sha2-nistp384-cert-v01@openssh.com, ecdsa-sha2-nistp521-cert-v01@openssh.com, sk-ecdsa-sha2-nistp256-cert-v01@openssh.com, ssh-ed25519-cert-v01@openssh.com, sk-ssh-ed25519-cert-v01@openssh.com, rsa-sha2-512-cert-v01@openssh.com, rsa-sha2-256-cert-v01@openssh.com, ssh-rsa-cert-v01@openssh.com, ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521, sk-ecdsa-sha2-nistp256@openssh.com, ssh-ed25519,sk-ssh-ed25519@openssh.com, rsa-sha2-512,rsa-sha2-256,ssh-rsa
- 利用可能な鍵の種類の一覧は、ssh -Q PubkeyAcceptedKeyTypesを使用して取得することも可能である。
- PubkeyAuthOptions
- 1 つまたは複数の公開鍵認証オプションを設定する。 対応するキーワードは、none (既定値。追加のオプションが有効でないことを示す)、 touch-required、および verify-required である。
- touch-required オプションを使用すると、FIDO 認証アルゴリズム (ecdsa-sk または ed25519-sk) を使用する公開鍵認証で、物理的に存在するユーザが明示的に認証を確認した (通常は認証器に触れる) ことを証明する署名を常に要求するようになる。 デフォルトでは、 sshd は authorized_keys オプションで上書きされない限り、 ユーザの存在を要求する。 touch-required フラグを指定すると、この上書きは無効になる。
- verify-required オプションは、ユーザが PIN などで認証されたことを証明する FIDO 鍵の署名を要求する。
- touch-required および verify-required オプションは、他の非 FIDO 公開鍵タイプには効果がない。
- PubkeyAuthentication
- 公開鍵認証が可能かどうかを指定する。 デフォルトは yes である。
- RekeyLimit
- セッションキーが再交渉される前に送信できる最大データ量を指定し、オプションでセッションキーが再交渉される前に経過できる最大時間を続けることができる。 最初の引数はバイト数で指定し、キロバイト、メガバイト、ギガバイトをそれぞれ示す 「K」、「M」、「G」の接尾辞を付けることができる。 デフォルトは 1G から 4G で、暗号化方式に依存する。オプションの秒の値は秒単位で指定し、「TIME FORMATS」セクションで説明されている単位のいずれかを使用することができる。 RekeyLimit のデフォルト値は default none で、これは暗号のデフォルトのデータ量が送受信された後に再キーイングが実行され、時間ベースの再キーイングは実行されないことを意味する。
- RevokedKeys
- 取り消された公開鍵ファイルを指定する。 このファイルに記載されている鍵は、公開鍵認証が拒否される。 このファイルが読み取り可能でない場合、すべてのユーザに対して公開鍵認証が拒否されることに注意。 鍵は、1 行に 1 つの公開鍵を記載したテキストファイルとして、または ssh-keygen が生成する OpenSSH 鍵取り消しリスト (KRL) として指定できます。 KRL の詳細については、 ssh-keygen の 「KEY REVOCATION LISTS」 のセクションを参照。
- RDomain
- 認証が完了した後に適用される明示的なルーティングドメインを指定する。 ユーザセッションと、転送または待ち受ける IP ソケットは、この rdomain(4) に束縛される。 ルーティングドメインが %D に設定されている場合、着信した接続を受信したドメインが適用される。
- SecurityKeyProvider
- FIDO認証ホスト鍵を読み込む際に使用するライブラリへのパスを指定し、内蔵のUSB HIDサポートを使用するデフォルトをオーバーライドする。
- SetEnv
- sshd が起動する子セッションで設定する 1 つ以上の環境変数を "NAME=VALUE" として指定する。環境変数は引用符で囲むことができる (例: 空白文字が含まれる場合)。 SetEnv によって設定された環境変数は、デフォルトの環境と、AcceptEnv または PermitUserEnvironment によってユーザによって指定された変数をオーバーライドする。
- StreamLocalBindMask
- ローカルまたはリモートのポートフォワーディングでUnixドメインソケットファイルを作成する際に使用する8進数のファイル作成モードマスク(umask)を設定する。 このオプションは、Unixドメインソケットファイルへのポートフォワーディングにのみ使用される。
- デフォルト値は0177で、所有者のみが読み取り/書き込み可能なUnixドメインソケットファイルが作成される。 すべてのオペレーティングシステムが、Unixドメインソケットファイルのファイルモードを尊重しているわけではないことに注意。
- StreamLocalBindUnlink
- ローカルまたはリモートポートフォワーディング用の既存の Unix ドメインソケットファイルを削除してから、新しいソケッ トファイルを作成するかどうかを指定する。 ソケットファイルが既に存在し、StreamLocalBindUnlink が有効になっていない場合、sshd は Unix ドメインソケットファイルにポートをフォワーディングすることができなくなる。 このオプションは、Unix ドメインソケットファイルへのポートフォワーディングにのみ使用される。
- 引数には yes または no を指定する必要がある。 デフォルトは no である。
- StrictModes
- ログインを受け入れる前に、sshd がユーザのファイルとホームディレクトリのファイルモードと所有権をチェックするかどうかを指定する。 初心者は誤って自分のディレクトリやファイルを world-writable のままにしてしまうことがあるため、 通常はこれが望ましいとされている。 デフォルトは yes である。 これは ChrootDirectory には適用されないことに注意。 ChrootDirectory のパーミッションと所有者は無条件にチェックされる。
- Subsystem
- 外部サブシステム (例: ファイル転送デーモン) を設定する。 引数には、サブシステム名と、サブシステムからの要求に応じて実行するコマンド (オプションの引数を含む) を指定する。
- sftp-server というコマンドは、SFTP ファイル転送サブシステムを実装する。
- また、internal-sftp という名前では、プロセス内 SFTP サーバが実装される。 これにより、ChrootDirectory を使用してクライアントに別のファイルシステム ルートを強制する構成が簡素化される場合がある。
- デフォルトでは、サブシステムは定義されていない。
- SyslogFacility
- sshd からのメッセージを記録する際に使用されるファシリティコードを指定する。 指定可能な値は以下のとおり。daemon、user、auth、local0、local1、local2、local3、local4、local5、local6、local7 である。 デフォルトは AUTH である。
- TCPKeepAlive
- システムが相手側にTCPキープアライブメッセージを送信するかどうかを指定する。 送信された場合、コネクションの切断やマシンのクラッシュが適切に通知される。 しかし、これは一時的にルートがダウンした場合に接続が切れることを意味し、それを煩わしいと感じる人もいる。 一方、TCP キープアライブが送信されない場合、セッションがサーバー上で無限にハングアップし、「ゴースト」ユーザーが残り、サーバーリソースを消費する可能性がある。
- デフォルトはyes(TCPキープアライブメッセージを送信する)で、ネットワークがダウンしたり、クライアントホストがクラッシュしたりすると、サーバーはそれに気づく。 これにより、セッションが無限にハングアップするのを避けることができる。
- TCPキープアライブメッセージを無効にするには、この値をnoに設定する必要がある。
- このオプションは、以前は KeepAlive と呼ばれていた。
- TrustedUserCAKeys
- 認証用のユーザ証明書に署名するために信頼できる認証局の公開鍵を含むファイルを指定するか、または使用しない場合はnoneを指定する。 鍵は 1 行に 1 つずつ表示され、空白行と '#' で始まるコメントも許可される。 ある証明書が認証用に提示され、その署名認証局の鍵がこのファイルに記載されている場合、その証明書のプリンシパルリストに記載されているすべてのユーザの認証に使用することができる。 プリンシパルリストを持たない証明書は、TrustedUserCAKeysを使用した認証に許可されないことに注意すること。 証明書の詳細については、ssh-keygen の「CERTIFICATES」セクションを参照。
- UseDNS
- sshd がリモートホスト名を検索し、リモート IP アドレスの解決されたホスト名がまったく同じ IP アドレスにマップされることをチェックするかどうかを指定する。
- このオプションを no (既定) に設定すると、 ~/.ssh/authorized_keys from および sshd_config Match Host ディレクティブでホスト名ではなくアドレスのみを使用することができるようになる。
- UsePAM
- Pluggable Authentication Module インターフェイスを有効にする。 yes に設定すると、すべての認証タイプについて PAM アカウントおよびセッションモジュール処理に加えて ChallengeResponseAuthentication および PasswordAuthentication を使用した PAM 認証が有効になる。
- PAM チャレンジレスポンス認証は通常、パスワード認証と同等の役割を果たすので、 PasswordAuthentication または ChallengeResponseAuthentication のいずれかを無効にする必要がある。
- UsePAM が有効な場合、非 root ユーザとして sshd を実行することはできない。 デフォルトは 'no' である。
- VersionAddendum
- オプションで、接続時にサーバーから送信される SSH プロトコルのバナーに追加するテキストを指定する。 デフォルトは 'none' である。
- X11DisplayOffset
- sshd の X11 フォワーディングで使用可能な最初の表示番号を指定する。 これにより、sshd が実際の X11 サーバと干渉するのを防ぐことができる。 既定値は 10 である。
- X11Forwarding
- X11フォワーディングを許可するかどうかを指定する。 引数はyesまたはnoでなければならない。 既定値は no である。
- X11 フォワーディングが有効な場合、sshd プロキシ表示がワイルドカードアドレスをリッスンするよう構成されている場合 (X11UseLocalhost 参照)、サーバおよびクライアント表示にさらなる露出が生じることがある (これは既定値ではない)。 さらに、認証のなりすましや認証データの検証・置換はクライアント側で行われる。 X11 フォワーディングを使うことのセキュリティリスクは、SSH クライアントが転送を要求したときに、クライアントの X11 ディスプレイサーバが攻撃にさらされる可能性があることである (ssh_config の ForwardX11 に関する警告を参照)。 システム管理者は、無意識のうちに X11 の転送を要求して攻撃にさらされる可能性のあるクライアントを保護したいというスタンスで、no の設定を正当化できるかもしれない。
- X11 フォワーディングを無効にしても、ユーザが X11 トラフィックを転送することは妨げられないことに 注意。ユーザはいつでも自分自身のフォワーディング装置をインストールすることが できるからである。
- X11UseLocalhost
- sshd が X11 フォワーディングサーバをループバックアドレスとワイルドカードアドレスのどちらにバインドす るかを指定する。 既定では、sshd はフォワーディングサーバをループバックアドレスにバインドし、DISPLAY 環境変数 のホスト名部分を localhost に設定する。 これにより、リモートホストがプロキシ表示に接続するのを防ぐことができる。 ただし、一部の古い X11 クライアントは、この構成では機能しない場合がある。 X11UseLocalhost を no に設定すると、フォワーディングサーバーをワイルドカードアドレスにバインドするよう指定できる。 引数はyesまたはnoでなければならない。 デフォルトはyesである。
- XAuthLocation
- xauth プログラムのフルパス名を指定するか、使用しない場合は none を指定する。 デフォルトは /usr/bin/xauth である。
TIME FORMATS
sshd のコマンドライン引数および設定ファイルのオプションで時間を指定する場合、time[qualifier] という形式のシーケンスを使用して表現することができる。
⟨none⟩ seconds s | S seconds m | M minutes h | H hours d | D days w | W weeks
シーケンスの各メンバーを合計して、合計時間値を算出する。
imeフォーマットの例
600 600 seconds (10 minutes) 10m 10 minutes 1h30m 1 hour 30 minutes (90 minutes)
TOKENS
キーワードの引数には、実行時に展開されるトークンを使用できるものがある。
%% A literal ‘%’. %D The routing domain in which the incoming connection was received. %F The fingerprint of the CA key. %f The fingerprint of the key or certificate. %h The home directory of the user. %i The key ID in the certificate. %K The base64-encoded CA key. %k The base64-encoded key or certificate for authentication. %s The serial number of the certificate. %T The type of the CA key. %t The key or certificate type. %U The numeric user ID of the target user. %u The username.
AuthorizedKeysCommand accepts the tokens %%, %f, %h, %k, %t, %U, and %u.
AuthorizedKeysFile accepts the tokens %%, %h, %U, and %u.
AuthorizedPrincipalsCommand accepts the tokens %%, %F, %f, %h, %i, %K, %k, %s, %T, %t, %U, and %u.
AuthorizedPrincipalsFile accepts the tokens %%, %h, %U, and %u.
ChrootDirectory accepts the tokens %%, %h, %U, and %u.
RoutingDomain accepts the token %D.
FILES
- /etc/ssh/sshd_config
- sshd の設定データが格納されている。このファイルは root によってのみ書き込み可能であるべきだが、 (必要ではないが) 誰でも読めるようにすることが推奨される。
SEE ALSO
AUTHORS
OpenSSH is a derivative of the original and free ssh 1.2.12 release by Tatu Ylonen. Aaron Campbell, Bob Beck, Markus Friedl, Niels Provos, Theo de Raadt and Dug Song removed many bugs, re-added newer features and created OpenSSH. Markus Friedl contributed the support for SSH protocol versions 1.5 and 2.0. Niels Provos and Markus Friedl contributed support for privilege separation.
External Link
この記事は、Debianのmanpageの項目を翻訳一部改変しております。 |