OpenSSH_ssh_config(1)

ホスト
次の宣言（次またはキーワードまで）を、キーワードの後に​​指定されたパターンの1つに一致するホストのみに制限します。複数のパターンを指定する場合は、空白で区切る必要があります。パターンとしての単一の「」を使用して、すべてのホストにグローバルデフォルトを提供できます。ホストは通常​​、コマンドラインで指定された引数です（例外についてはキーワードを参照してください）。 HostMatch * hostnameCanonicalizeHostname
パターンエントリは、感嘆符（ ‘！’）を前に付けることで否定できます。否定されたエントリが一致した場合、その行の他のパタ​​ーンが一致するかどうかに関係なく、そのエントリは無視されます。したがって、否定一致は、ワイルドカード一致の例外を提供するのに役立ちます。ホスト

パターンの詳細については、PATTERNSを参照してください。

一致
次の宣言（nextまたはkeywordまで）は、キーワードに続く条件が満たされた場合にのみ使用されるように制限されます。一致条件は、1つ以上の基準、または常に一致する単一のトークンを使用して指定されます。使用可能な基準キーワードは、、、、、、、、、およびです。基準は、単独で、またはまたはの直後に表示する必要があります。他の基準は任意に組み合わせることができます。 、、およびを除くすべての基準には引数が必要です。感嘆符（「！」）を前に付けると、基準が否定される場合があります。 HostMatchMatchallcanonicalfinalexechostoriginalhostuserlocaluserallcanonicalfinalallcanonicalfinal
キーワードは、ホスト名の正規化後に構成ファイルが再解析される場合にのみ一致します（オプションを参照）。これは、正規のホスト名のみで機能する条件を指定するのに役立つ場合があります。canonicalCanonicalizeHostname

キーワードは、構成の再解析を要求し（有効かどうかに関係なく）、この最後のパスでのみ一致します。が有効になっている場合は、同じパスで一致します。finalCanonicalizeHostnameCanonicalizeHostnamecanonicalfinal

キーワードは、ユーザーのシェルの下で指定されたコマンドを実行します。コマンドがゼロ終了ステータスを返す場合、条件は真と見なされます。空白文字を含むコマンドは引用符で囲む必要があります。 execexecTOKENSセクションで説明されているトークンを受け入れるための引数。

他のキーワードの基準は、単一のエントリまたはコンマ区切りのリストである必要があり、PATTERNSセクションで説明されているワイルドカードおよび否定演算子を使用できます。キーワードの基準は、またはオプションで置換した後、ターゲットのホスト名と照合されます。キーワードは、コマンドラインで指定されたホスト名と一致します。キーワードは、リモートホスト上のターゲットユーザー名と一致します。このキーワードは、hostHostnameCanonicalizeHostnameoriginalhostuserlocaluserssh（1）を実行しているローカルユーザーの名前と一致します（このキーワードは、システム全体のファイルで役立つ場合があります）。ssh_config

AddKeysToAgent
実行中のssh-agent（1）にキーを自動的に追加するかどうかを指定します。このオプションがに設定され、キーがファイルからロードされると、yesssh-add（1）の場合と同様に、キーとそのパスフレーズがデフォルトの有効期間でエージェントに追加されます。このオプションがに設定されている場合、askssh（1）は、キーを追加する前にプログラムを使用して確認する必要があります（詳細については、SSH_ASKPASSssh-add（1）を参照してください）。このオプションがに設定されている場合、オプションがconfirm-cssh-add（1）に指定されているかのように、キーの使用を確認する必要があります。このオプションがに設定されている場合、キーはエージェントに追加されません。または、このオプションは、sshd_config（5）のnoTIME FORMATSセクションで説明されている形式を使用して時間間隔として指定し、ssh-agent（1）でキーの有効期間を指定すると、自動的に削除されます。引数は（デフォルト）、、（オプションで時間間隔が続く）、または時間間隔である必要があります。noyesconfirmask
AddressFamily
接続時に使用するアドレスファミリを指定します。有効な引数は、（デフォルト）、（IPv4のみを使用）、または（IPv6のみを使用）です。anyinetinet6

BatchMode
に設定すると、パスワードプロンプトやホストキーの確認要求などのユーザー操作が無効になります。このオプションは、yesssh（1）と対話するユーザーがいないスクリプトやその他のバッチジョブで役立ちます。引数はor（デフォルト）でなければなりません。yesno
BindAddress
ローカルマシン上の指定されたアドレスを接続の送信元アドレスとして使用します。複数のアドレスを持つシステムでのみ役立ちます。
BindInterface
ローカルマシン上の指定されたインターフェイスのアドレスを接続の送信元アドレスとして使用します。
CanonicalDomains
が有効になっている場合、このオプションは、指定された宛先ホストを検索するドメインサフィックスのリストを指定します。CanonicalizeHostname
CanonicalizeFallbackLocal
ホスト名の正規化が失敗したときにエラーで失敗するかどうかを指定します。デフォルトの、は、システムリゾルバの検索ルールを使用して非修飾ホスト名を検索しようとします。の値が有効で、ターゲットホスト名が.CanonicalizeHostnameCanonicalDomainsで指定されたドメインのいずれにも見つからない場合、yesnossh（1）は即座に失敗します。
CanonicalizeHostname
明示的なホスト名の正規化を実行するかどうかを制御します。デフォルトでは、は名前の書き換えを実行せず、システムリゾルバーにすべてのホスト名ルックアップを処理させます。 thenに設定されている場合、またはを使用しない接続の場合、noyesProxyCommandProxyJumpssh（1）は、サフィックスとルールを使用して、コマンドラインで指定されたホスト名を正規化しようとします。がに設定されている場合、正規化はプロキシ接続にも適用されます。 CanonicalDomainsCanonicalizePermittedCNAMEsCanonicalizeHostnamealways
このオプションが有効になっている場合、構成ファイルは新しいターゲット名を使用して再度処理され、マッチングおよびスタンザで新しい構成が取得されます。HostMatch

CanonicalizeMaxDots
正規化が無効になる前のホスト名のドット文字の最大数を指定します。デフォルトの1は、単一のドット（つまり、hostname.subdomain）を許可します。
CanonicalizePermittedCNAMEs
ホスト名を正規化するときにCNAMEに従う必要があるかどうかを決定するルールを指定します。ルールは、：の1つ以上の引数で構成されます。ここで、は正規化でCNAMEに続く可能性のあるドメインのパターンリストであり、は解決される可能性のあるドメインのパターンリストです。 source_domain_listtarget_domain_listsource_domain_listtarget_domain_list
たとえば、「*。a.example.com：*。b.example.com、*。c.example.com」を使用すると、「*。a.example.com」に一致するホスト名を「*」の名前に正規化できます。 .b.example.com」または「* .c.example.com」ドメイン。

CASignatureAlgorithms
認証局（CA）による証明書の署名に許可されるアルゴリズムを指定します。デフォルトは次のとおりです。
ssh-ed25519、ecdsa-sha2-nistp256、ecdsa-sha2-nistp384、
ecdsa-sha2-nistp521、rsa-sha2-512、rsa-sha2-256、ssh-rsa
ssh（1）は、指定されたアルゴリズム以外のアルゴリズムを使用して署名されたホスト証明書を受け入れません。

CertificateFile
ユーザーの証明書を読み取るファイルを指定します。この証明書をディレクティブまたはフラグからIdentityFile-issh（1）、ssh-agent（1）、またはまたはのいずれかで使用するには、対応する秘密鍵を個別に提供する必要があります。 PKCS11ProviderSecurityKeyProvider
の引数では、チルダ構文を使用して、ユーザーのホームディレクトリ、CertificateFileTOKENSセクションで説明されているトークン、およびENVIRONMENTVARIABLESセクションで説明されている環境変数を参照できます。

構成ファイルで複数の証明書ファイルを指定することができます。これらの証明書は順番に試されます。複数のディレクティブが認証に使用される証明書のリストに追加されます。CertificateFile

ChallengeResponseAuthentication
チャレンジレスポンス認証を使用するかどうかを指定します。このキーワードの引数は（デフォルト）または.yesnoである必要があります
CheckHostIP
（デフォルト）に設定されている場合、yesssh（1）はknown_hostsファイル内のホストIPアドレスを追加でチェックします。これにより、DNSスプーフィングが原因でホストキーが変更されたかどうかを検出し、の設定に関係なく、プロセス内の宛先ホストのアドレスを〜/ .ssh / known_hostsに追加します。オプションがに設定されている場合、チェックは実行されません。StrictHostKeyCheckingno

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

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暗号」を使用して取得することもできます。

ClearAllForwardings
設定ファイルまたはコマンドラインで指定されたすべてのローカル、リモート、および動的ポート転送をクリアすることを指定します。このオプションは、ssh（1）コマンドラインから設定ファイルに設定されたポート転送をクリアするために主に使用され、scp（1）およびsftp（1）によって自動的に設定されます。引数はor（デフォルト）でなければなりません。yesno
圧縮
圧縮を使用するかどうかを指定します。引数はor（デフォルト）でなければなりません。yesno
ConnectionAttempts
終了するまでの試行回数（1秒に1回）を指定します。引数は整数でなければなりません。これは、接続が失敗することがある場合のスクリプトで役立つ場合があります。デフォルトは1です。
ConnectTimeout
デフォルトのシステムTCPタイムアウトを使用する代わりに、SSHサーバーに接続するときに使用されるタイムアウト（秒単位）を指定します。このタイムアウトは、接続の確立と、最初のSSHプロトコルハンドシェイクおよびキー交換の実行の両方に適用されます。
ControlMaster
単一のネットワーク接続を介した複数のセッションの共有を有効にします。 yesssh（1）をに設定すると、引数を使用して指定された制御ソケットで接続をリッスンします。追加のセッションは、（デフォルト）に設定されたものを使用してこのソケットに接続できます。これらのセッションは、新しい接続を開始するのではなく、マスターインスタンスのネットワーク接続を再利用しようとしますが、制御ソケットが存在しない場合、またはリッスンしていない場合は、通常の接続にフォールバックします。 ControlPathControlPathControlMasterno
これをに設定すると、askssh（1）は制御接続をリッスンしますが、ssh-askpass（1）を使用して確認する必要があります。を開くことができない場合、ControlPathssh（1）はマスターインスタンスに接続せずに続行します。

X11およびssh-agent（1）転送は、これらの多重化接続でサポートされていますが、転送されるディスプレイとエージェントはマスター接続に属するものになります。つまり、複数のディスプレイまたはエージェントを転送することはできません。

2つの追加オプションにより、日和見多重化が可能になります。マスター接続を使用しようとしますが、マスター接続がまだ存在しない場合は、新しい接続の作成にフォールバックします。これらのオプションは次のとおりです。および。後者はoption.autoautoaskaskのような確認が必要です

ControlPath
上記のセクションで説明されているように、接続共有に使用される制御ソケットへのパス、または接続共有を無効にする文字列を指定します。の引数では、チルダ構文を使用して、ユーザーのホームディレクトリ、ControlMasternoneControlPathTOKENSセクションで説明されているトークン、およびENVIRONMENTVARIABLESセクションで説明されている環境変数を参照できます。日和見接続の共有に使用するものには、少なくとも％h、％p、および％r（または％C）を含め、他のユーザーが書き込みできないディレクトリに配置することをお勧めします。これにより、共有接続が一意に識別されます。ControlPath

ControlPersist
と組み合わせて使用​​すると、最初のクライアント接続が閉じられた後、マスター接続がバックグラウンドで開いたままになる（将来のクライアント接続を待つ）必要があることを指定します。 （デフォルト）に設定すると、マスター接続はバックグラウンドに配置されず、最初のクライアント接続が閉じられるとすぐに閉じます。または0に設定すると、マスター接続は無期限にバックグラウンドに留まります（「ssh-Oexit」などのメカニズムによって強制終了または閉じられるまで）。秒単位の時間、またはControlMasternoyessshd_config（5）に記載されている形式の時間に設定されている場合、バックグラウンドマスター接続は、指定された時間アイドル状態（クライアント接続なし）のままになると自動的に終了します。
DynamicForward
ローカルマシンのTCPポートをセキュリティで保護されたチャネルを介して転送し、アプリケーションプロトコルを使用してリモートマシンからの接続先を決定することを指定します。
引数は[：]でなければなりません。 IPv6アドレスは、アドレスを角かっこで囲むことで指定できます。デフォルトでは、ローカルポートは設定に従ってバインドされます。ただし、明示を使用して、接続を特定のアドレスにバインドすることができます。 ofは、リスニングポートがローカル使用のみにバインドされていることを示し、空のアドレスまたは「*」は、ポートがすべてのインターフェイスから使用可能であることを示します。bind_addressportGatewayPortsbind_addressbind_addresslocalhost

現在、SOCKS4およびSOCKS5プロトコルがサポートされており、ssh（1）はSOCKSサーバーとして機能します。複数の転送を指定でき、コマンドラインで追加の転送を指定できます。スーパーユーザーのみが特権ポートを転送できます。

SSHKeysignを有効にする
グローバルクライアント構成ファイルyes / etc / ssh / ssh_configでこのオプションをに設定すると、の間にヘルパープログラムssh-keysign（8）を使用できるようになります。引数はor（デフォルト）でなければなりません。このオプションは、ホスト固有ではないセクションに配置する必要があります。詳細については、HostbasedAuthenticationyesnossh-keysign（8）を参照してください。
EscapeChar
エスケープ文字を設定します（デフォルト： ‘’）。エスケープ文字はコマンドラインでも設定できます。引数は、単一の文字、「」の後に文字を続けるか、エスケープ文字を完全に無効にする（バイナリデータに対して接続を透過的にする）必要があります。〜 ^ none
ExitOnForwardFailure
要求されたすべての動的、トンネル、ローカル、およびリモートポート転送をセットアップできない場合（たとえば、どちらかの端が指定されたポートでバインドおよびリッスンできない場合）にssh（1）が接続を終了するかどうかを指定します。これは、ポート転送を介して行われた接続には適用されず、たとえば、最終的な転送先へのTCP接続が失敗した場合にExitOnForwardFailuressh（1）を終了させないことに注意してください。引数はor（デフォルト）でなければなりません。yesno
FingerprintHash
キーフィンガープリントを表示するときに使用されるハッシュアルゴリズムを指定します。有効なオプションは次のとおりです：および（デフォルト）.md5sha256
ForwardAgent
認証エージェント（存在する場合）への接続をリモートマシンに転送するかどうかを指定します。引数は、（デフォルト）、エージェントソケットへの明示的なパス、またはパスを見つけるための環境変数の名前（「$」で始まる）の場合があります。はい・いいえ
エージェント転送は注意して有効にする必要があります。リモートホスト（エージェントのUnixドメインソケット用）でファイルのアクセス許可をバイパスする機能を持つユーザーは、転送された接続を介してローカルエージェントにアクセスできます。攻撃者はエージェントからキーマテリアルを取得できませんが、エージェントにロードされたIDを使用して認証できるようにするキーに対して操作を実行できます。

ForwardX11
X11接続をセキュリティで保護されたチャネルを介して自動的にリダイレクトして設定するかどうかを指定します。引数はor（デフォルト）でなければなりません。 DISPLAYyesno
X11転送は注意して有効にする必要があります。リモートホスト（ユーザーのX11認証データベース用）のファイルアクセス許可をバイパスする機能を持つユーザーは、転送された接続を介してローカルX11ディスプレイにアクセスできます。オプションも有効になっている場合、攻撃者はキーストローク監視などのアクティビティを実行できる可能性があります。ForwardX11Trusted

ForwardX11Timeout
sshd_config（5）のTIME FORMATSセクションで説明されている形式を使用して、信頼できないX11転送のタイムアウトを指定します。この時間以降にssh（1）によって受信されたX11接続は拒否されます。ゼロに設定すると、タイムアウトが無効になり、接続の存続期間中X11転送が許可されます。デフォルトでは、20分が経過すると信頼できないX11転送が無効になります。ForwardX11Timeout
ForwardX11Trusted
このオプションがに設定されている場合、リモートX11クライアントは元のX11ディスプレイに完全にアクセスできます。はい
このオプションが（デフォルト）に設定されている場合、リモートX11クライアントは信頼できないと見なされ、信頼できるX11クライアントに属するデータを盗んだり改ざんしたりすることはできません。さらに、セッションに使用されるnoxauth（1）トークンは、20分後に期限切れになるように設定されます。この時間以降、リモートクライアントはアクセスを拒否されます。

信頼できないクライアントに課せられる制限の詳細については、X11SECURITY拡張仕様を参照してください。

GatewayPorts
リモートホストがローカル転送ポートへの接続を許可されるかどうかを指定します。デフォルトでは、ssh（1）はローカルポート転送をループバックアドレスにバインドします。これにより、他のリモートホストが転送されたポートに接続できなくなります。 sshがローカルポート転送をワイルドカードアドレスにバインドするように指定するために使用できます。これにより、リモートホストが転送されたポートに接続できるようになります。引数はor（デフォルト）でなければなりません。GatewayPortsyesno
GlobalKnownHostsFile
グローバルホストキーデータベースに使用する1つ以上のファイルを空白で区切って指定します。デフォルトは/ etc / ssh / ssh_known_hosts、/ etc / ssh / ssh_known_hosts2です。
GSSAPIAuthentication
GSSAPIに基づくユーザー認証を許可するかどうかを指定します。デフォルトは.noです。
GSSAPIDelegateCredentials
資格情報をサーバーに転送（委任）します。デフォルトは.noです。
HashKnownHosts
ssh（1）がホスト名とアドレスを〜/ .ssh / known_hostsに追加するときにそれらをハッシュする必要があることを示します。これらのハッシュ名は、通常ssh（1）およびsshd（8）で使用できますが、ファイルの内容が開示されている場合、識別情報を視覚的に明らかにすることはありません。デフォルトはです。既知のhostsファイル内の既存の名前とアドレスは自動的に変換されませんが、nossh-keygen（1）を使用して手動でハッシュされる可能性があることに注意してください。
HostbasedAuthentication
公開鍵認証を使用してrhostsベースの認証を試行するかどうかを指定します。引数はor（デフォルト）でなければなりません。yesno
HostbasedKeyTypes
ホストベースの認証に使用されるキータイプを、パターンのコンマ区切りリストとして指定します。または、指定されたリストが「+」文字で始まる場合、指定されたキータイプは、それらを置き換えるのではなく、デフォルトセットに追加されます。指定されたリストが「-」文字で始まる場合、指定されたキータイプ（ワイルドカードを含む）は、それらを置き換えるのではなく、デフォルトセットから削除されます。指定されたリストが「^」文字で始まる場合、指定されたキータイプはデフォルトセットの先頭に配置されます。このオプションのデフォルトは次のとおりです。
ssh-ed25519-cert-v01@openssh.com、
ecdsa-sha2-nistp256-cert-v01@openssh.com、
ecdsa-sha2-nistp384-cert-v01@openssh.com、
ecdsa-sha2-nistp521-cert-v01@openssh.com、
sk-ssh-ed25519-cert-v01@openssh.com、
sk-ecdsa-sha2-nistp256-cert-v01@openssh.com、
rsa-sha2-512-cert-v01@openssh.com、
rsa-sha2-256-cert-v01@openssh.com、
ssh-rsa-cert-v01@openssh.com、
ssh-ed25519、
ecdsa-sha2-nistp256、ecdsa-sha2-nistp384、ecdsa-sha2-nistp521、
sk-ssh-ed25519@openssh.com、
sk-ecdsa-sha2-nistp256@openssh.com、
rsa-sha2-512、rsa-sha2-256、ssh-rsa
-Qssh（1）のオプションを使用して、サポートされているキータイプを一覧表示できます。

HostKeyAlgorithms
クライアントが使用するホストキーアルゴリズムを優先順に指定します。または、指定されたリストが「+」文字で始まる場合、指定されたキータイプは、それらを置き換えるのではなく、デフォルトセットに追加されます。指定されたリストが「-」文字で始まる場合、指定されたキータイプ（ワイルドカードを含む）は、それらを置き換えるのではなく、デフォルトセットから削除されます。指定されたリストが「^」文字で始まる場合、指定されたキータイプはデフォルトセットの先頭に配置されます。このオプションのデフォルトは次のとおりです。
ssh-ed25519-cert-v01@openssh.com、
ecdsa-sha2-nistp256-cert-v01@openssh.com、
ecdsa-sha2-nistp384-cert-v01@openssh.com、
ecdsa-sha2-nistp521-cert-v01@openssh.com、
sk-ssh-ed25519-cert-v01@openssh.com、
sk-ecdsa-sha2-nistp256-cert-v01@openssh.com、
rsa-sha2-512-cert-v01@openssh.com、
rsa-sha2-256-cert-v01@openssh.com、
ssh-rsa-cert-v01@openssh.com、
ssh-ed25519、
ecdsa-sha2-nistp256、ecdsa-sha2-nistp384、ecdsa-sha2-nistp521、
sk-ecdsa-sha2-nistp256@openssh.com、
sk-ssh-ed25519@openssh.com、
rsa-sha2-512、rsa-sha2-256、ssh-rsa
宛先ホストのホストキーがわかっている場合、このデフォルトはアルゴリズムを優先するように変更されます。

使用可能なキータイプのリストは、「ssh-QHostKeyAlgorithms」を使用して取得することもできます。