SSHD_CONFIG (5)

OpenSSH-7.3p1 日本語マニュアルページ (2016/10/15)


名前

sshd_config
OpenSSH SSH デーモン 設定ファイル

書式

/etc/ssh/sshd_config

説明

sshd (8)/etc/ssh/sshd_config(あるいはコマンドラインから-f オプションで指定したファイル) から設定を読み込みます。このファイルの各行は"キーワード 引数"の形式になっており、空行あるいは # で始まる行はコメントとみなされます。空白を含む引数はダブルクォート
で囲んで表現することもできます。

使用できるキーワードとその説明は以下の通りです(キーワードでは大文字小文字は区別されませんが、引数では区別されることに注意してください):

AcceptEnv (受け付ける環境変数)
クライアントから送られた環境変数のうち、どれをそのセッションのenviron (7) にコピーするかを指定します。クライアント側をどのように設定するかについてはssh_config (5)SendEnv項目を参照してください。注意:TERM 環境変数は、プロトコルによる規定で、クライアントが仮想端末を必要とする場合にはつねに送信されます。環境変数は名前で指定します。名前にはワイルドカード文字 * または ? を含むことができます。複数の環境変数を指定する場合は空白文字で区切るか、あるいは複数のAcceptEnv項目を指定します。警告: いくつかの環境変数は、制限つきの環境 (restricted environment) を迂回するのに使われることがあります。このため、この設定項目を利用する場合は細心の注意を払ってください。デフォルトでは、いかなる環境変数も受け渡しできないようになっています。

AddressFamily (アドレスファミリ)
sshd (8) が、どのアドレスファミリを使うべきかを指定します。とりうる値は"any"(すべて)、"inet"(IPv4 のみ) あるいは"inet6"(IPv6 のみ) です。デフォルトでは、"any"になっています。

AllowAgentForwarding (エージェント転送を許可する)
ssh-agent (1) によるエージェント転送を許可するかどうかを指定します。デフォルトは"yes"です。エージェント転送を禁止しても、ユーザのシェルへのアクセスを禁止しない限りセキュリティは向上しないことに注意してください。なぜなら、彼らはつねに自分で転送プログラムを起動することができるからです。

AllowGroups (許可するグループ)
このキーワードにはいくつかのグループ名パターンをスペースで区切って指定します。これが指定されると、ユーザの基本グループがそのパターンのどれかにマッチするグループであるようなユーザだけがログインを許可されます。有効なのはグループの「名前」だけで、数字で表されたグループ ID は認識されません。デフォルトでは、ログインはすべてのグループに許可されています。allow/deny 関連の項目は以下の順に処理されます:DenyUsers 、AllowUsers 、DenyGroups 、そして最後にAllowGroups 。

パターンに関する詳細はssh_config (5) の「パターン」の項を参照してください。

AllowTcpForwarding (TCP 転送の許可)
TCP 転送を許可するかどうか指定します。とりうる値として、TCP 転送を許可する場合は"yes"または"all"を指定し、TCP転送を禁止する場合は"no"を指定します。ローカルな (ssh (1) にとって) 転送のみを許可する場合は、"local"を、リモートの転送のみを許可する場合は、"remote"を指定します。デフォルトは"yes"です。TCP 転送を禁止しても、ユーザにシェルのアクセスを禁止しないかぎりセキュリティの向上にはならないことに注意してください。なぜならユーザはいつでも自前の転送プログラムをインストールして使うことができるからです。

AllowStreamLocalForwarding (Unixドメインソケットの転送を許可する)
StreamLocal (Unixドメインソケット) 転送を許可するかどうかを指定します。とりうる値は、すべての StreamLocal 転送を許可する場合"yes"または"all"、すべての StreamLocal 転送を禁止する場合"no"、ローカルな転送 (ssh (1) の定義による) のみを許可する場合は"local"、リモートの転送のみを許可する場合は"remote"を指定します。デフォルトでは"yes"になっています。StreamLocal 転送を禁止しても、ユーザにシェルのアクセスを禁止しないかぎりセキュリティの向上にはならないことに注意してください。なぜならユーザはいつでも自前の転送プログラムをインストールして使うことができるからです。

AllowUsers (許可するユーザ)
このキーワードにはいくつかのユーザ名パターンをスペースで区切って指定します。これが指定されると、そのパターンのどれかにマッチするユーザだけがログインを許可されます。有効なのはユーザの「名前」だけで、数字で表されたユーザ ID は認識されません。デフォルトでは、ログインはすべてのユーザに許可されています。もしこのパターンが USER@HOST という形をとっている時は、ユーザ名 USER と ホスト名 HOST を別々にチェックでき、特定のホストからの特定のユーザのログインを制限することができます。HOST 句にはこれに加えて、アドレス/マスク長 という形式の CIDR 表記を書くこともできます。allow/deny 関連の項目は以下の順に処理されます:DenyUsers 、AllowUsers 、DenyGroups 、そして最後にAllowGroups 。

パターンに関する詳細はssh_config (5) の「パターン」の項を参照してください。

AuthenticationMethods (認証方式)
ユーザがアクセスの許可を得るために完了しなければならない認証方式を指定します。このオプションはひとつ以上の認証方式名をカンマで区切ったものの一覧として与えられます。ここで"any"を指定すると、いずれかの認証方式ひとつを受け入れるというデフォルトの動作になります。認証を成功させるためには、ユーザはこのリスト中に含まれているいずれかの項目に対して、指定されているすべての方式を完了する必要があります。

たとえば、"publickey,password publickey,keyboard-interactive"という指定は、ユーザが公開鍵認証 (publickey) のあとにパスワード認証 (password) あるいはキーボード対話的認証 (keyboard-interactive) を完了させる必要があることを示しています。各段階で指定されている認証方式で成功しなければ次へは進めません。したがって上の例では、公開鍵認証を終えるまではパスワードあるいはキーボード対話的認証を試みることはできません。

キーボード対話的認証の場合は、コロンのあとにデバイス識別子を指定することで、認証をおこなうデバイスを制限することもできます。これらは、サーバの設定にもよりますが"bsdauth ,""pam ,"または"skey"のいずれかが使えます。たとえば"keyboard-interactive:bsdauth"は、キーボード対話的認証を"bsdauth"デバイスからのみに制限します。

"publickey"方式が複数回指定された場合、sshd (8) は一度認証に成功した鍵が、それ以降の認証では使用されないことを検証します。たとえばAuthenticationMethodsが"publickey,publickey"の場合、2つの異なる公開鍵による認証に成功する必要があります。

このオプションは SSH 1 も許可されている場合に使用すると致命的なエラーが発生します。また、ここで使う各認証方式は設定ファイル中でそれぞれ許可されている必要があります。デフォルトの値は"any"であり、複数の認証方式は使用しません。単一の認証方式で成功すれば、認証は成功したとみなされます。

AuthorizedKeysCommand (認証鍵コマンド)
ユーザの特定の公開鍵を検索するのに使うコマンドを指定します。このコマンドは root が所有しており、他のグループやユーザによって書き込み可能であってはいけません。またコマンドは絶対パス名で指定する必要があります。

AuthorizedKeysCommandの引数として、以下のトークンの組み合わせが使え、これらは実行時に展開されます:%% は「%」1文字に置換されます。%u はそのユーザのユーザ名に置換され、%h は認証しようとしているユーザのホームディレクトリに置換されます。%t はその認証で使おうとしている鍵の形式に置換されます。%f はその鍵の指紋に置換され、%k は認証で使おうとしている鍵そのものに置換されます。引数が指定されない場合、認証されるユーザ名が単一の引数として与えられます。

このコマンドは authorized_keys 形式の鍵を各行ごとに標準出力に表示する必要があります(詳しくはsshd (8) の「AUTHORIZED_KEYS ファイルの形式」セクションを参照してください)。ユーザが AuthorizedKeysCommand から供給された鍵で認証できなかった場合、そのユーザは通常のAuthorizedKeysFileによる指定を使って認証が行われます。デフォルトでは、 AuthorizedKeysCommand は使われません。

AuthorizedKeysCommandUser (認証鍵コマンドのユーザ)
AuthorizedKeysCommand コマンドを実行するユーザ名を指定します。ここでは認証鍵コマンドを走らせる専用のユーザを作成して使うことが推奨されます。AuthorizedKeysCommandが指定されているがAuthorizedKeysCommandUserは指定されていない場合、sshd (8) は起動しません。

AuthorizedKeysFile (authorized_keys ファイル)
ユーザ認証の際に使われる公開鍵を格納しているファイル名を指定します。ファイル形式については、sshd (8) の「AUTHORIZED_KEYS ファイルの形式」セクションで説明しています。AuthorizedKeysFileのファイル名中に %T が含まれている場合、その部分は接続の間別のものに置換されます。%% は「%」1文字に置換されます。%h は認証しようとしているユーザのホームディレクトリに置換され、%u はそのユーザのユーザ名に置換されます。この後、その絶対パスあるいはユーザのホームディレクトリからの相対パスがAuthorizedKeysFileに渡されます。複数のファイルは空白で区切ることにより指定できます。または、この項目に"none"を指定すると、ファイル中のユーザの鍵の検査はおこなわれません。デフォルトの値は".ssh/authorized_keys .ssh/authorized_keys2"となっています。

AuthorizedPrincipalsCommand (許可されるprincipalコマンド)
許可された証明書 principal の一覧を、AuthorizedPrincipalsFileごとに生成するためのコマンドを指定します。このコマンドは root が所有しており、他のグループやユーザによって書き込み可能であってはいけません。またコマンドは絶対パス名で指定する必要があります。

AuthorizedPrincipalsCommandの引数として、以下のトークンの組み合わせが使え、これらは実行時に展開されます:%% は「%」1文字に置換されます。%u はそのユーザのユーザ名に置換され、%h は認証しようとしているユーザのホームディレクトリに置換されます。

このコマンドは各行ごとにAuthorizedPrincipalsFileの内容を標準出力に表示する必要があります。AuthorizedPrincipalsCommandあるいはAuthorizedPrincipalsFileが指定されている場合、クライアントから認証用に提供される証明書はこの一覧にある principal を含んでいなければなりません。デフォルトでは、AuthorizedPrincipalsCommand は実行されません。

AuthorizedPrincipalsCommandUser (許可されるprincipalコマンドのユーザ)
AuthorizedPrincipalsCommand コマンドを実行するユーザ名を指定します。ここでは認証鍵コマンドを走らせる専用のユーザを作成して使うことが推奨されます。AuthorizedPrincipalsCommandが指定されているがAuthorizedPrincipalsCommandUserは指定されていない場合、sshd (8) は起動しません。

AuthorizedPrincipalsFile (許可されるprincipalファイル)
証明書による認証で許可されるprincipal名の一覧を記したファイルを指定します。TrustedUserCAKeysで指定されている鍵によって署名された証明書を使う場合、このファイルには名前の一覧が入ります。これらの名前は証明書の中で認証を許可されていなければなりません。名前は各行にひとつずつ書き、そのあとに鍵のオプション(sshd (8) の「AUTHORIZED_KEYS ファイルの形式」で説明されているもの) を書きます。空行、あるいは # で始まる行は無視されます。

AuthorizedPrincipalsFileのファイル名中に %T が含まれている場合、その部分は接続の間別のものに置換されます。%% は「%」1文字に置換されます。%h は認証しようとしているユーザのホームディレクトリに置換され、%u はそのユーザのユーザ名に置換されます。この後、AuthorizedPrincipalsFileの値は、絶対パスあるいはユーザのホームディレクトリからの相対パスとして解釈されます。

デフォルトでは、この値は"none"になっています。nこの場合、認証が受け入れられるには、そのユーザ名が証明書の principal 一覧に記されている必要があります。注意:AuthorizedPrincipalsFileが使われるのは、TrustedUserCAKeysに記されている CA を使って認証を進めるときだけです。~/.ssh/authorized_keysで信用されている CA は使われません。しかし、鍵のオプションであるprincipals=を使えば、同様の効果を得ることはできます (詳しくはsshd (8) を参照してください)。

Banner (バナー)
ここで指定されたファイルの内容は、認証が許可される前にリモートユーザに提示されます。引数に"none"を指定した場合、バナーは表示されません。デフォルトでは、バナーは表示されません。

ChallengeResponseAuthentication (チャレンジ・レスポンス認証)
チャレンジ・レスポンス認証を許可するかどうか指定します。login.conf (5) に記されているすべての認証形式が使えます。デフォルトは"yes"です。

ChrootDirectory (chrootディレクトリ)
認証の後に、chroot (2) をおこなうディレクトリのパス名を指定します。セッション開始時に、sshd (8) はここに到達するまでの上位ディレクトリがすべてroot が所有しており、他のどのユーザやグループも書き込み不可能になっているかどうかチェックします。chroot したあとに、sshd (8) はワーキングディレクトリをそのユーザのホームディレクトリに変更します。

このパス名には、以下のトークンを含むことができます。これらは接続してきたユーザが認証を完了したあと、ランタイムで内容が展開されます: %% は '%' 1文字になり、%h は認証したユーザのホームディレクトリに展開されます。また、%u は認証したユーザの名前に展開されます。

ChrootDirectory以下の場所には、そのユーザのセッションをサポートするための必要なファイルおよびディレクトリが入っている必要があります。対話的セッションの場合、これは少なくともひとつのシェル、通常はsh (1) および、以下の基本的な/devノード、null (4), zero (4), stdin (4), stdout (4), stderr (4) およびtty (4) デバイスが含まれます。"sftp"を使ったファイル転送をおこなうセッションでは、内蔵の sftp サーバを使うとサポート環境のための設定は必要ありませんが、オペレーティングシステムによってはchroot されたディレクトリ内に、ログ出力のための/dev/logを必要とする場合があります (詳しくはsftp-server (8) を参照してください)。

安全のため、ディレクトリツリー全体をシステム内の他のプロセス(とくに jail の外にあるプロセス) から変更できないようにしておくことが重要です。ここでの設定の間違いはsshd (8) が検出することのできない、安全でない環境をつくりだす場合があります。

デフォルトは、"none"であり、chroot (2) をおこなわない設定になっています。

Ciphers (暗号方式)
許可される暗号方式を指定します。複数の暗号方式を指定する場合は、カンマで区切ってください。指定された値が `+' 文字から始まっている場合、暗号方式はデフォルトの方式を上書きするのではなく、追加されます。

現在サポートされている暗号方式は以下のとおりです:

3des-cbc

aes128-cbc

aes192-cbc

aes256-cbc

aes128-ctr

aes192-ctr

aes256-ctr

aes128-gcm@openssh.com

aes256-gcm@openssh.com

arcfour

arcfour128

arcfour256

blowfish-cbc

cast128-cbc

chacha20-poly1305@openssh.com

デフォルトは、

chacha20-poly1305@openssh.com,aes128-ctr,aes192-ctr,aes256-ctr,aes128-gcm@openssh.com,aes256-gcm@openssh.com
です。

使用可能な暗号方式の一覧は、ssh (1) に対して-Q オプションに引数"cipher"を使用しても見ることができます。

ClientAliveCountMax (クライアントの生存チェック最大カウント数)
sshd (8) が無反応のクライアントに対してclient alive message (下記参照) を送ってみる最大数を指定します。client alive message に対する応答が連続してこの回数だけなかった場合、sshd は接続を切り、セッションを終了します。client alive message は、TCPKeepAlive(下記) とはまったく違うことに注意してください。client alive message は暗号化された経路を介して送られるので、偽造されることはありません。TCPKeepAliveによって設定される TCP の keepalive オプションは偽造される可能性があります。client alive のメカニズムはクライアントあるいはサーバが、いつ接続が切れたのかを知りたいときに役立ちます。

デフォルトの値は 3 です。もしClientAliveInterval(下記) が 15 に設定され、ClientAliveCountMaxがデフォルトのままである場合、これに反応できない SSH クライアントはおよそ 45 秒後に接続が切られます。

ClientAliveInterval (クライアントの生存チェック間隔)
sshd (8) は一定時間ごとに、暗号化された通信路を経由してクライアントに応答を要求するメッセージ(client alive message) を送ります。その際、何もデータが送られてこなかったらタイムアウトする時間を秒数で指定します。デフォルトの値は 0 で、これはメッセージを送らないことを意味します。

Compression (圧縮)
圧縮を許可するかどうか、あるいは遅延圧縮 (そのユーザが認証されてから初めて圧縮を許可する) をおこなうかどうかを指定します。この引数がとりうる値は"yes ,""delayed"または"no"です。デフォルトでは"delayed (ユーザが認証されてから圧縮を許可する)"になっています。

DenyGroups (拒否するグループ)
このキーワードにはいくつかのグループ名パターンをスペースで区切って指定します。ユーザの基本グループがこのパターンのどれかにマッチするユーザはログインを禁止されます。有効なのはグループの「名前」だけで、数字で表されたグループ ID は認識されません。デフォルトでは、ログインはすべてのグループに許可されています。allow/deny 関連の項目は以下の順に処理されます:DenyUsers 、AllowUsers 、DenyGroups 、そして最後にAllowGroups 。

パターンに関する詳細はssh_config (5) の「パターン」の項を参照してください。

DenyUsers (拒否するユーザ)
このキーワードにはいくつかのユーザ名パターンをスペースで区切って指定します。これが指定されると、このパターンのどれかにマッチするユーザはログインを禁止されます。有効なのはユーザの「名前」だけで、数字で表されたユーザ ID は認識されません。デフォルトでは、ログインはすべてのユーザに許可されています。もしこのパターンが USER@HOST という形をとっている時は、ユーザ名 USER と ホスト名 HOST を別々にチェックでき、特定のホストからの特定のユーザのログインを制限することができます。HOST 句にはこれに加えて、アドレス/マスク長 という形式の CIDR 表記を書くこともできます。allow/deny 関連の項目は以下の順に処理されます:DenyUsers 、AllowUsers 、DenyGroups 、そして最後にAllowGroups 。

パターンに関する詳細はssh_config (5) の「パターン」の項を参照してください。

FingerprintHash (鍵の指紋ハッシュ)
鍵の指紋をログに出力するさいに使われるハッシュ関数のアルゴリズムを指定します。とりうる値は:"md5"または"sha256"です。デフォルトでは"sha256"になっています。

ForceCommand (強制コマンド実行)
クライアントが指定したコマンドを無視し、ForceCommandによって指定されたコマンドと、存在する場合は~/.ssh/rcを強制的に実行します。このコマンドはそのユーザのログインシェルの -c オプションを使って実行されます。この項目はシェル、コマンド実行、あるいはサブシステムの実行に適用されます。この設定項目はMatchブロックと組み合わせるともっとも有用です。クライアントが本来指定したコマンドラインはSSH_ORIGINAL_COMMAND 環境変数に格納されます。コマンドとして"internal-sftp"を指定すると、強制的に内蔵の sftp サーバを使います。これはChrootDirectoryが指定されているときに、外部のファイルなしで動作できます。デフォルトは"none"です。

GatewayPorts (ポート中継の許可)
リモートホストがクライアント側に転送されたポートに接続することを許可するかどうか指定します。デフォルトでは、sshd (8) はリモート転送ポートをループバックアドレスに bind します。これは他のリモートホストが、転送されたポートに接続してしまうのを防いでいます。GatewayPortsは sshd にリモート転送ポートをループバックインターフェイス以外のアドレスに bind させるときに使います。これによって他のホストが転送されたポートに接続できるようになります。引数の値として、転送されたポートをローカルからのみ利用可能にしたい場合は"no"、いかなるアドレスからも利用可能にしたい場合は"yes"、あるいはクライアント側に bind すべきアドレスを指定させたい場合は"clientspecified"を指定します。デフォルトは"no"になっています。

GSSAPIAuthentication (GSSAPI 認証)
GSSAPI ベースのユーザ認証を使用するかどうかを指定します。これはデフォルトでは"no"になっています。

GSSAPICleanupCredentials (GSSAPI 証明書の消去)
ユーザがログアウトするときに、その証明書 (credential) キャッシュを自動的に消去するかどうかを指定します。デフォルトでは"yes"です。

GSSAPIStrictAcceptorCheck (GSSAPIアクセプタの厳密なチェック)
クライアント側の証明が使っているGSSAPIアクセプタの信憑性についてより厳密なチェックをおこなうかどうかを指定します。"yes"に設定すると、クライアントは現在のホスト名におけるhostサービスに対する証明をおこなわなければなりません。"no"に設定すると、クライアントはそのマシンのデフォルトストアに記録されているどのサービスに対しても証明をおこなうことができます。この機能は、マルチ・ホームされたマシンの運用を支援するために導入されています。デフォルトは"yes"です。

HostbasedAcceptedKeyTypes (ホストベースド認証の鍵の形式)
ホストベースド認証で受けつける鍵の形式をカンマで区切って指定します。指定された値が `+' 文字から始まっている場合、ここで指定される鍵の形式はデフォルトの形式を上書きするのではなく、追加されます。この項目のデフォルトの値は、
ecdsa-sha2-nistp256-cert-v01@openssh.com,ecdsa-sha2-nistp384-cert-v01@openssh.com,ecdsa-sha2-nistp521-cert-v01@openssh.com,ssh-ed25519-cert-v01@openssh.com,ssh-rsa-cert-v01@openssh.com,ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521,ssh-ed25519,ssh-rsa

ssh (1)-Q オプションを使うと、サポートされている鍵の形式の一覧を見ることができます。

HostbasedAuthentication (ホストベースド認証の許可)
公開鍵ホスト認証が成功したときに、rhosts あるいは /etc/hosts.equiv 認証を許可するかどうか指定します (ホストベースド認証)。デフォルトの値は"no"になっています。

HostbasedUsesNameFromPacketOnly (ホストベースド認証におけるホスト名の使用方法)
ホストベースド認証 (HostbasedAuthentication) を行うときに、~/.shosts ,~/.rhosts ,および/etc/hosts.equivファイルにクライアントのホスト名が書かれていた場合、サーバがホスト名の逆引きを行うかどうかを指定します。この項目に"yes"を指定すると、sshd (8) はその TCP 接続から名前を引くことはせずに、クライアントが提示してきた名前を使用します。デフォルトでは"no"になっています。

HostCertificate (ホスト証明書)
公開されているホスト証明書を格納したファイルを指定します。証明書の公開鍵は、あらかじめHostKeyで指定されたホスト秘密鍵と対応するものである必要があります。デフォルトではsshd (8) は証明書を読み込みません。

HostKey (ホスト鍵)
SSH で使われる、ホスト秘密鍵が格納されているファイルを指定します。デフォルトでは、プロトコル 1 用の鍵が/etc/ssh/ssh_host_keyであり、プロトコル 2 用の鍵が/etc/ssh/ssh_host_dsa_key ,/etc/ssh/ssh_host_ecdsa_key ,/etc/ssh/ssh_host_ed25519_keyおよび/etc/ssh/ssh_host_rsa_keyです。

このファイルがグループあるいは他人からアクセス可能になっており、実際に使われるsshd (8)HostKeyAlgorithms設定項目がその使用を制限している場合、sshd (8) はその使用を拒絶するので注意してください。

複数のホスト鍵を使うことも可能です。"rsa1"鍵はプロトコル 1 に使われ、"dsa ,""ecdsa ,""ed25519"または"rsa"はプロトコル 2 の SSH に使われます。ここではホスト公開鍵を指定することも可能です。その場合、秘密鍵のかかわる操作はssh-agent (1) によって代行されます。

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,ssh-ed25519-cert-v01@openssh.com,ssh-rsa-cert-v01@openssh.com,ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521,ssh-ed25519,ssh-rsa

ssh (1)-Q オプションに引数"key"を指定して使うと、サポートされている鍵の形式の一覧を見ることができます。

IgnoreRhosts (rhosts の無視)
RhostsRSAAuthenticationまたはHostbasedAuthenticationの各認証で、.rhostsおよび.shostsファイルを使わないようにします。

この状態でも、/etc/hosts.equivおよび/etc/shosts.equivは依然として有効です。デフォルトでは"yes"になっています。

IgnoreUserKnownHosts (ユーザ用 known_hosts の無視)
RhostsRSAAuthenticationまたはHostbasedAuthenticationの各認証で、ユーザの~/.ssh/known_hostsファイルを使わないようにします。デフォルトは"no"です。

IPQoS (QoS指定)
接続における IPv4 type-of-service または DSCP クラスを指定します。可能な値は"af11 ,""af12 ,""af13 ,""af21 ,""af22 ,""af23 ,""af31 ,""af32 ,""af33 ,""af41 ,""af42 ,""af43 ,""cs0 ,""cs1 ,""cs2 ,""cs3 ,""cs4 ,""cs5 ,""cs6 ,""cs7 ,""ef ,""lowdelay ,""throughput ,""reliability ,"または数値のいずれかです。このオプションには 1つあるいは2つの引数を空白で区切って与えることができます。引数が 1つ指定された場合、これはパケットクラスを無条件に指定します。引数が 2つ指定された場合、最初の引数は対話的セッションで使われ、2番目の引数は非対話的セッションで使われます。デフォルト値は、対話的セッションのときは"lowdelay"であり、非対話的セッションのときは"throughput"となっています。

KbdInteractiveAuthentication (キーボード対話的認証)
キーボード対話的認証を許可するかどうかを指定します。この項目に対する値は"yes"または"no"です。デフォルトではChallengeResponseAuthenticationと同じ値に従います(これはデフォルトで"yes"です)。

KerberosAuthentication (Kerberos 認証)
ユーザがPasswordAuthenticationで入力したパスワードを Kerberos KDC 経由で批准するかどうか指定します。このオプションを使うためには、サーバに KDC のアイデンティティを批准するための Kerberos servtab が必要です。デフォルトでは"no"になっています。

KerberosGetAFSToken (Kerberos AFS トークンを取得する)
AFS が有効でユーザが Kerberos 5 TGT をもっている場合、そのユーザのホームディレクトリにアクセスする前に AFS トークンを取得しようとこころみます。デフォルトでは"no"になっています。

KerberosOrLocalPasswd (Kerberosあるいはローカルパスワード)
Kerberos 経由のパスワード認証が失敗すると、そのパスワードは/etc/passwdなどの別のローカルな機構によって確認されます。デフォルトは"yes"です。

KerberosTicketCleanup (Kerberos チケット自動除去)
ユーザのチケット用キャッシュをログアウト時に自動的に消去するかどうか指定します。デフォルトは"yes"です。

KexAlgorithms (鍵交換アルゴリズム)
利用可能な KEX (Key Exchange、鍵交換) アルゴリズムを指定します。複数のアルゴリズムはカンマで区切ってください。指定された値が `+' 文字から始まっている場合、ここで指定される方式はデフォルトを上書きするのではなく、追加されます。サポートされているアルゴリズムは:

curve25519-sha256@libssh.org

diffie-hellman-group1-sha1

diffie-hellman-group14-sha1

diffie-hellman-group-exchange-sha1

diffie-hellman-group-exchange-sha256

ecdh-sha2-nistp256

ecdh-sha2-nistp384

ecdh-sha2-nistp521

デフォルトは:

curve25519-sha256@libssh.org,ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521,diffie-hellman-group-exchange-sha256,diffie-hellman-group14-sha1
です。

利用可能な鍵交換アルゴリズムの一覧は、ssh (1)-Q オプションに対して、引数"kex"を与えることによっても見ることができます。

KeyRegenerationInterval (鍵の再生成間隔)
プロトコル 1 では、サーバ鍵は (一度でも使われると) ここで指定された間隔ごとに自動的に再生成されます。このように鍵を再生成する目的は、あとでそのマシンに侵入して盗聴したセッションを解読されたり、鍵を盗まれたりするのを防ぐためです。この鍵はどこにも格納されません。値としてゼロを指定すると、鍵はまったく再生成されなくなります。デフォルトでは 3600 (秒) になっています。

ListenAddress (接続受付アドレス)
sshd (8) が接続を受けつける (listen する) ローカルアドレスを指定します。ここでは以下の形式が使えます:

ListenAddresshost |IPv4_addr |IPv6_addr

ListenAddresshost |IPv4_addr :port

ListenAddress [host |IPv6_addr ] :port

port が指定されていないときはsshd はそのアドレスで、Port設定項目で指定されたすべてのポートで接続を受けつけます。デフォルトではすべてのローカルアドレスに対して接続を受けつけるようになっています。ListenAddress項目は複数指定してもかまいません。

LoginGraceTime (ログイン猶予時間)
ユーザがここで指定された時間内にログインできないと、サーバは接続を切ります。この値をゼロにすると、時間制限はなくなります。デフォルトの値は 120 (秒) です。

LogLevel (ログレベル)
sshd (8) が出力するログメッセージの冗長性レベルを指定します。とりうる値は次のとおりです: QUIET, FATAL, ERROR, INFO, VERBOSE, DEBUG,DEBUG1, DEBUG2 および DEBUG3。デフォルトでは INFO です。DEBUG と DEBUG1 は等価です。DEBUG2、DEBUG3 はそれぞれさらに冗長なログになります。DEBUG レベル以上のログはユーザのプライバシーを侵害するので、勧められるものではありません。

MACs (メッセージ認証コード)
使用する MAC (メッセージ認証コード) 方式の優先順位を指定します。MAC 方式はデータの改ざんを防ぐ機構 (data integrity protection) です。複数の方式をカンマで区切って指定します。指定された値が `+' 文字から始まっている場合、ここで指定される MAC のアルゴリズムはデフォルトの方式を上書きするのではなく、追加されます。

名前に"-etm"を含む方式では、MAC 値を暗号化のあとに計算します (encrypt-then-mac)。こちらのほうが安全であると考えられており、推奨されています。サポートされている MACは:

hmac-md5

hmac-md5-96

hmac-ripemd160

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-ripemd160-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
の順になっています。

Match (条件分岐)
この項目によって、条件的な設定を指定できます。

利用可能な MAC方式の一覧は、ssh (1)-Q オプションに対して、引数"mac"を与えることによっても見ることができます。Match行にあるすべての条件が満たされた場合、これ以降の設定項目は次のMatch指令が現れるまでグローバルな設定よりも優先されます。もしキーワードが複数の該当するMatchブロックで指定されていた場合、最初のキーワードだけが適用されます。

Match指令の引数は、ひとつ以上の「種類 パターン」の組か、あるいはすべてにマッチする単一の引数Allによって与えられます。使用可能な種類はUser(ユーザ名)、Group(グループ名)、Host(ホスト名)、LocalAddress(ローカルアドレス)、LocalPort(ローカルポート) およびAddress(アドレス) です。一致するパターンとしては単一のエントリか、あるいはカンマで区切られた複数のエントリのリストを使うことができ、ssh_config (5) の「パターン」セクションで説明されているワイルドカードや否定のための表記が使用できます。

また、Address指定で使うパターンには CIDR 表記 (アドレス/マスク長 の形式) を含めることもできます。"192.0.2.0/24"や"3ffe:ffff::/32"などです。ここで指定するマスク長はアドレスと一致させるようにしてください。アドレスに対して長すぎるマスク長や、適切なビットが 0 になっていないアドレスを指定するとエラーになります。たとえば、"192.0.2.0/33"や"192.0.2.0/8"は間違いです。

すべての設定項目にMatch指令が適用されるわけではありません。使用できる項目は、AcceptEnv ,AllowAgentForwarding ,AllowGroups ,AllowStreamLocalForwarding ,AllowTcpForwarding ,AllowUsers ,AuthenticationMethods ,AuthorizedKeysCommand ,AuthorizedKeysCommandUser ,AuthorizedKeysFile ,AuthorizedPrincipalsCommand ,AuthorizedPrincipalsCommandUser ,AuthorizedPrincipalsFile ,Banner ,ChrootDirectory ,DenyGroups ,DenyUsers ,ForceCommand ,GatewayPorts ,GSSAPIAuthentication ,HostbasedAcceptedKeyTypes ,HostbasedAuthentication ,HostbasedUsesNameFromPacketOnly ,IPQoS ,KbdInteractiveAuthentication ,KerberosAuthentication ,MaxAuthTries ,MaxSessions ,PasswordAuthentication ,PermitEmptyPasswords ,PermitOpen ,PermitRootLogin ,PermitTTY ,PermitTunnel ,PermitUserRC ,PubkeyAcceptedKeyTypes ,PubkeyAuthentication ,RekeyLimit ,RevokedKeys ,RhostsRSAAuthentication ,RSAAuthentication ,StreamLocalBindMask ,StreamLocalBindUnlink ,TrustedUserCAKeys ,X11DisplayOffset ,X11ForwardingおよびX11UseLocalHostです。

MaxAuthTries (最大認証試行回数)
ネットワーク接続 1つあたりの認証を最大で何回まで試みることができるかを指定します。ここで指定された半数以上の認証が失敗すると、それ以降の失敗はログに記録されます。デフォルトの値は 6 です。

MaxSessions (最大セッション数)
ネットワーク接続 1つあたりに許されるシェル、ログインまたはサブシステム利用の最大数を指定します。複数のセッションは多重接続をサポートするクライアントによって確立することができます。MaxSessionsの値を 1 に指定すると、事実上、多重接続は禁止されます。この値を 0 に指定すると、シェル、ログインまたはサブシステム利用はすべて禁止されますが、ポート転送は許可されます。デフォルトの値は 10 です。

MaxStartups (最大起動数)
認証されていない段階の接続をSSH デーモンが最大でどれだけ受けつけるかを指定します。この値を超えた (認証されていない段階の) 接続は捨てられます。この状態は (すでに接続したクライアントの) 認証が成功するか、そのLoginGraceTime(ログイン猶予時間) が切れるまで続きます。デフォルトではこの数は 10:30:100 です。

もうひとつの方法は、早いうちからランダムに接続を拒否するよう指定することです。これはこの設定項目にコロンで区切った 3 つの値を与えることによりおこないます。この値は"start:rate:full"(``開始時:確率:最大数'') の形をとります (例: "10:30:60" など)。sshd (8) は認証されていない段階の接続が"start"(この例では 10) 個を超えると、これ以後の接続要求を"rate/100"(この例では 30%) の確率で拒否し始めます。この確率は"full"(この例では 60) 個の接続が来るまで線形に増えつづけ、最大数に達した時点でそれ以降すべての接続を拒否するようになります。

PasswordAuthentication (パスワード認証)
パスワード認証を許可するかどうか指定します。デフォルトでは"yes"になっています。

PermitEmptyPasswords (空のパスワードを許可)
パスワード認証が許可されているとき、パスワード文字列が空のアカウントに対してサーバがログインを許可するかどうか指定します。デフォルトは"no"です。

PermitOpen (許可するポート転送)
許可する TCP ポート転送を指定します。ポート転送の指定は、以下のうちどれかの形式である必要があります:

PermitOpenホスト名 :ポート

PermitOpenIPv4アドレス :ポート

PermitOpen[ IPv6アドレス]:ポート

複数のポート転送は空白で区切って指定できます。引数として"any"を使うと、一切の制限なくすべてのポート転送要求を許可するようになります。引数として"none"を使うと、すべてのポート転送要求を禁止します。ワイルドカード"*"はすべてのホストおよびポートを許可するものとして、ホストまたはポートの指定に使えます。デフォルトでは、すべてのポート転送が許可されています。

PermitRootLogin (root ログイン許可)
ssh (1) を使って、root がログインできるかどうか指定します。この引数の値は"yes"、"prohibit-password"(パスワード禁止)、"without-password"(パスワードなし)、"forced-commands-only"(強制コマンドのみ)、あるいは"no"のいずれかになります。デフォルトは"prohibit-password"です。この設定項目を"prohibit-password"または"without-password"にすると、root はパスワード認証 (password) あるいはキーボード対話的認証 (keyboard-interactive) ではログインできなくなります。

この設定項目を"forced-commands-only"にすると、root は公開鍵認証を使ってログインできますが、その鍵にcommand が指定されている場合にかぎります(これは通常の root ログインを許可していなくても、リモートバックアップをとりたいときなどに有用です)。root に対してはこれ以外の認証方法はすべて禁止になります。

この設定項目を"no"にすると、root のログインは許可されません。

PermitTunnel (トンネリングを許可する)
tun (4) デバイスの転送を許可するかどうかを指定します。とりうる引数の値は"yes ,""point-to-point"(layer 3),"ethernet"(layer 2) あるいは"no"です。"yes"を指定すると、"point-to-point"および"ethernet"の両方を許可したことになります。デフォルトは"no"になっています。

この項目とは別に、選択されたtun (4) デバイスのパーミッションは、このユーザのアクセスを許可するようになっている必要があります。

PermitTTY (TTYを許可する)
pty (4) 割り当てを許可するかどうかを指定します。デフォルトは"yes"です。

PermitUserEnvironment (ユーザの環境変数変更を許可する)
sshd (8)~/.ssh/environmentファイルおよび~/.ssh/authorized_keysにおけるenvironment=オプションを処理すべきかどうかを指定します。デフォルトでは"no"です。環境変数の変更は、ユーザにLD_PRELOAD などの設定を使ったある種のアクセス制限を回避させてしまう可能性があります。

PermitUserRC (ユーザのrcを許可する)
各ユーザの~/.ssh/rcファイルを実行するか否かを指定します。デフォルトでは"yes"になっています。

PidFile (pid ファイル)
SSH デーモンのプロセス ID を格納するファイルを指定します。"none"にするとファイルは作成されません。デフォルトでは/var/run/sshd.pidになっています。

Port (ポート番号)
sshd (8) が接続を受けつける (listen する) ポート番号を指定します。デフォルトは 22 です。複数指定することも可能です。ListenAddressの項も参照してください。

PrintLastLog (LastLog の表示)
ユーザが対話的にログインしたとき、そのユーザが前回ログインした日付と時刻を表示するかどうか指定します。デフォルトでは"yes"になっています。

PrintMotd (motd の表示)
ユーザが対話的にログインしたとき、/etc/motd(今日のお知らせ) ファイルの内容を表示するかどうか指定します。(システムによっては、これはシェルや/etc/profileに相当するものが表示します)。デフォルトは"yes"です。

Protocol (プロトコル)
sshd (8) がサポートするプロトコルを指定します。とりうる値は `1' と `2' です。複数のプロトコルをカンマで区切って指定することもできます。デフォルトは"2"です。プロトコル 1 にはいくつもの暗号上の弱点があり、使うべきではありません。これはレガシー・デバイスのサポート用のみに提供されています。ここでのプロトコルの順番は、優先度を指定するものではないことに注意してください。なぜなら複数のプロトコルがサーバで使用可能な場合、選択するのはクライアント側だからです。よって"2,1"という指定は、"1,2"と同じです。

PubkeyAcceptedKeyTypes (公開鍵の形式)
公開鍵認証のさいに受けつける鍵の形式をカンマで区切って指定します。指定された値が `+' 文字から始まっている場合、指定された形式はデフォルトの形式を上書きするのではなく、追加されます。デフォルトの値は以下のとおりです:
ecdsa-sha2-nistp256-cert-v01@openssh.com,ecdsa-sha2-nistp384-cert-v01@openssh.com,ecdsa-sha2-nistp521-cert-v01@openssh.com,ssh-ed25519-cert-v01@openssh.com,ssh-rsa-cert-v01@openssh.com,ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521,ssh-ed25519,ssh-rsa

ssh (1)-Q オプションを使うと、サポートされている鍵の形式の一覧を見ることができます。

PubkeyAuthentication (公開鍵認証)
公開鍵認証を許可するかどうか指定します。デフォルトは"yes"です。

RekeyLimit (rekey の制限)
セッション鍵が再生成される (rekey) までに許される最大のデータ量を指定します。また、鍵が再生成されるまでの最大の時間も指定できます。第1引数の値はバイト数で指定し、サフィックスとして `K' 、 `M' 、あるいは `G' を使うことができます。それぞれ、キロバイト(K)、メガバイト(M)、ギガバイト(G) を表します。デフォルトは暗号方式によりますが `1G' から `4G' までの間です。第2引数はオプションで、ここには再生成までの時間を時間の表現セクションにある形式で指定できます。RekeyLimitのデフォルト値は"default none"で、これは鍵の再生成がその暗号アルゴリズムのデフォルト値で許されるデータ量だけ送信または受信したときにおこなわれることを示し、時間による再生成はおこなわないことを意味します。

RevokedKeys (廃止された鍵)
廃止された公開鍵を指定します。ない場合は"none"を指定します。このファイルに含まれている鍵では、公開鍵認証が拒否されます。注意: このファイルが読み込み可能になっていない場合、すべてのユーザの公開鍵認証が拒否されます。鍵は1行にひとつずつの公開鍵が書かれたテキストファイルか、あるいはssh-keygen (1) で生成される OpenSSH 鍵失効リスト (Key Revocation List, KRL)によって指定できます。KRL に関するより詳しい情報は、ssh-keygen (1) の中の「鍵失効リスト」セクションを参照してください。

RhostsRSAAuthentication (rhosts-RSA 認証)
RSA ホスト間認証が成功しているとき、rhosts や /etc/hosts.equivを使った認証をおこなってよいかどうか指定します。デフォルトは"no"です。この設定項目はプロトコル 1 にのみ適用されることに注意してください。

RSAAuthentication (RSA 認証)
純粋な RSA 認証を許可するかどうかを指定します。デフォルトは"yes"になっています。この設定項目はプロトコル 1 にのみ適用されることに注意してください。

ServerKeyBits (サーバ鍵のビット数)
プロトコル 1 で短期的に使われるサーバ鍵のビット数を指定します。最小値およびデフォルトの値は 1024 です。

StreamLocalBindMask (Unixドメインソケット作成時のマスク)
ローカルまたはリモートのポート転送のさいに、Unixドメインソケットファイルを作成する時の
umask
値を指定します。この設定項目は Unixドメインソケットファイルに対してポート転送をおこなう時にのみ有効です。

デフォルトの値は 0177 であり、これは作成された Unixドメインソケットが所有者にのみ読み書き可能であることを示しています。注意: すべてのオペレーティングシステムが Unixドメインソケットのファイルモードに従うわけではありません。

StreamLocalBindUnlink (Unixドメインソケットを削除する)
ローカルまたはリモートのポート転送で、新しい Unixドメインソケットファイルを作成するさいに既存のソケットファイルを削除するかどうかを指定します。もしソケットファイルがすでに存在し、StreamLocalBindUnlinkが有効となっていない場合、sshd はその Unixドメインソケットに対してポート転送をおこなうことができません。この設定項目は Unixドメインソケットファイルに対してポート転送をおこなう時にのみ有効です。

とりうる引数は"yes"または"no"で、デフォルトは"no"になっています。

StrictModes (厳格なモード)
sshd (8) がログインを許可する前に、ユーザのファイルおよびホームディレクトリの所有権とパーミッションをチェックすべきかどうかを指定します。これはふつう初心者が、しばしば自分のディレクトリを誰でも書き込めるようにしてしまう事故を防ぐために有効です。デフォルトでは"yes"になっています。注意: この項目はChrootDirectoryには適応されません。ChrootDirectory では、所有権とパーミッションはつねにチェックされます。

Subsystem (サブシステム)
外部サブシステム (ファイル転送デーモンなど) を設定します。この設定項目への引数にはサブシステム名と、そのサブシステムに要求があったとき実行されるコマンド (および、必要な場合はその引数) を与えます。

sftp-server (8) はファイル転送サブシステム"sftp"を実装したものです。

この他に、"internal-sftp"という名前を指定することにより、内蔵の"sftp"サーバを使用できます。これはChrootDirectoryを使って、クライアントに対してファイルシステム上のルートディレクトリを変更させる状況での設定を簡単にします。

デフォルトではサブシステムは何も定義されていません。

SyslogFacility (syslog 分類コード)
sshd (8) が出力するログメッセージで使われるログの分類コード(facility) を指定します。とりうる値は次のとおりです: DAEMON, USER,AUTH, LOCAL0, LOCAL1, LOCAL2, LOCAL3, LOCAL4, LOCAL5, LOCAL6,LOCAL7。デフォルトは AUTH です。

TCPKeepAlive (TCP接続を生かしておく)
システムが相手のマシンに TCP keepalive メッセージを送るかどうか指定します。これが送られると、接続の異常終了や相手マシンのクラッシュが正しく通知されるようになります。しかしこれを使うと、たとえ経路が一時的にダウンしていても接続が死んでいるということになってしまい、これが邪魔になる場合もあります。その一方で、もし TCP keepalive が送られないとすると、セッションはサーバ上で永久に残ってしまことがあり、"幽霊"ユーザを居座らせてサーバ資源を消費することがあります。

デフォルトは"yes"(TCP keepalive メッセージを送る) です。そのためクライアントはネットワークがダウンするか、リモートホストがクラッシュすると通知してきます。これは永久に残るセッションを防ぎます。

TCP Keepalive を禁止するには、この値を"no"にする必要があります。

TrustedUserCAKeys (信頼されるユーザCAの鍵)
認証用のユーザ証明書に署名するときに信頼した認証局(CA)の、公開鍵を格納したファイルを指定します。存在しない場合は"none"を指定します。鍵は1行につきひとつずつ指定します。空行や # で始まるコメント行を含むこともできます。認証時に証明書が提示されており、そこに署名しているCAの鍵がこのファイルに含まれている場合、この証明書の principal リストに含まれているどのユーザもこれを使うことができます。注意: principal のリストがない証明書は、TrustedUserCAKeysを使った認証に使うことはできません。証明書に関する詳細は、ssh-keygen (1) の「証明書」のセクションをごらんください。

UseDNS (リモートホスト名の確認)
sshd (8) が IP アドレスからリモートホスト名を逆引き検索して得た名前を正引きして、同じ IP アドレスになるかどうか確認します。

この項目の値が"no"に設定されている場合 (デフォルト)、~/.ssh/authorized_keysにおけるfromおよびsshd_config MatchHost句の検査では IPアドレスのみが使われ、ホスト名は使用されません。

UseLogin (login の使用)
対話的ログインセッションの際、login (1) プログラムを使うかどうかを指定します。デフォルトでは"no"になっています。対話的でないリモートコマンド実行のときにlogin (1) が使われることは決してありません。また、これが許可されているとX11Forwarding (X11 転送)は許可されなくなるということに注意してください。なぜなら、login (1)xauth (1) クッキーの扱いを知らないからです。UsePrivilegeSeparationが指定されている場合は、認証のあとで禁止されます。

UsePAM (PAM の使用)
Pluggable Authentication Module (PAM) インターフェイスによる認証を許可します。これが"yes"に設定されている場合、すべての認証形式に対してChallengeResponseAuthenticationを使用した PAM 認証と、PAM アカウントおよびセッションモジュールの処理が許可されます。

ふつう PAM のチャレンジ・レスポンス認証はパスワード認証と等価な役割を提供しているので、PasswordAuthenticationあるいはChallengeResponseAuthentication.のどちらかを許可する必要があります。

UsePAMを許可した場合、sshd を root 以外の一般ユーザで走らせることはできません。デフォルトは"no"です。

UsePrivilegeSeparation (root権限を分離)
sshd (8) が、受けつけるネットワークトラフィックを処理するためにroot 権限を分離するかどうかを指定します。これは root 権限をもたない子プロセスをつくることによっておこなわれます。認証が成功すると、そのユーザの権限をもつ別のプロセスが新たに作られます。これの目的は、まずそうな部分をroot 権限をもたないプロセスのみに限定することによって、root 権限による被害の拡大を防ぐためです。とりうる引数は、"yes"、"no"、または"sandbox"のいずれかです。UsePrivilegeSeparationが"sandbox"に指定されている場合、認証前の特権をもたないプロセスはさらなる制限の対象となります。デフォルトでは"sandbox"になっています。

VersionAddendum (バージョン番号追加文字列)
接続時にサーバから送られてきた SSH プロトコルバナーに追加する文字列を指定します。デフォルトでは"none"になっています。

X11DisplayOffset (X11 ディスプレイ番号のオフセット値)
sshd (8) が X11 転送をするときに最初に使われるディスプレイ番号を指定します。これは sshd が X11 転送で使うディスプレイ番号が、本物の X サーバのディスプレイ番号と衝突してしまうのを防ぐためです。デフォルトの値は 10 です。

X11Forwarding (X11 転送)
X11 転送を許可するかどうかを指定します。この引数の値は"yes"あるいは"no"で、デフォルトは"no"です。

X11 転送が許可されており、転送されたsshd (8) のディスプレイが任意のアドレス (下のX11UseLocalhost参照) からの接続を受けつけるように設定されていると、サーバやクライアントのディスプレイは余計な危険にさらされることになります。しかし、デフォルトではそうなっていません。また、認証におけるなりすまし、認証データの確認や差し替えなどがクライアント側で起こります。X11 転送を使うセキュリティ上のリスクは、SSH クライアントが転送を要求したときに、クライアント上の X11 サーバが攻撃にさらされるかもしれないということです (ssh_config (5)ForwardX11注意書きを参照)。システム管理者はクライアントがうっかり X11 を転送して、余計な危険性を増すことのないように、これをかならず"no"に設定させるような立場をとることもできます。

注意: X11 転送機能を禁止しても、ユーザが X11 の通信を転送できなくなるというわけではありません。なぜならユーザはいつでも自前の転送プログラムをインストールして使うことができるからです。UseLoginが許可されていると、X11 転送は自動的に禁止されます。

X11UseLocalhost (X11 で localhost のみを許可)
sshd (8) が転送された X11 サーバをループバックアドレス (localhost) にbind するかどうかを指定します。デフォルトでは、sshd は転送された X11 をループバックアドレスに bind し、環境変数DISPLAY のホスト名の部分を"localhost"に設定します。こうすると、(訳注: SSHサーバ以外の) リモートホストから転送された Xサーバに接続することはできなくなります。しかし、ふるい X11 クライアントだと、この設定では動作しないことがあります。そのようなときはX11UseLocalhostを"no"に設定して、転送された X サーバがワイルドカードアドレスにbind されるようにできます。この設定項目の引数は"yes"あるいは"no"です。デフォルトでは、これは"yes (localhost にしか bind しない)"になっています。

XAuthLocation (xauth の位置)
xauth (1) プログラムのフルパス名を指定します。使用しない場合は"none"を指定します。デフォルトでは/usr/X11R6/bin/xauthになっています。

時間の表現

sshd (8) のコマンドライン引数や設定ファイル項目で時間を指定する場合、次の構文を並べた書式を使うことができます:time [qualifier ]

ここでtime は正の整数であり、qualifier は次のうちのどれかです:

<Cm なし>
seconds (秒)

s | Cm S
seconds (秒)

m | Cm M
minutes (分)

h | Cm H
hours (時間)

d | Cm D
days (日)

w | Cm W
weeks (週)

これらの形式を組み合わせることもでき、その場合は各形式の時間が合計されます。

時間表現の例:

600
600 秒 (10 分)

10m
10 分

1h30m
1 時間 30 分 (90 分)

関連ファイル

/etc/ssh/sshd_config
sshd (8) の設定ファイルです。このファイルに書き込めるのはroot だけでなくてはいけませんが、読むのは誰でもできるようにしておいたほうがよいでしょう (必須ではありませんが)。

関連項目

sshd (8)

作者

OpenSSH は Tatu Ylonen による、フリーなオリジナル版 ssh 1.2.12 リリースから派生したものです。Aaron Campbell、 Bob Beck、 Markus Friedl、 Niels Provos、Theo de Raadt および Dug Song が多くのバグを取り除き、新しい機能をふたたび追加して OpenSSH をつくりました。SSH プロトコル 1.5 および 2.0 のサポートはMarkus Friedl の貢献によるものです。Niels Provos および Markus Friedl が root特権分離のサポートに貢献しました。