ssh_config
manページから:
パラメーターごとに、最初に取得した値が使用されます。構成ファイルには、「ホスト」仕様で区切られたセクションが含まれ、そのセクションは、仕様で指定されたパターンのいずれかに一致するホストにのみ適用されます。一致したホスト名は、コマンドラインで指定されたものです。
各パラメーターで最初に取得した値が使用されるため、ファイルの先頭近くでホスト固有の宣言を追加し、末尾で一般的なデフォルトを指定する必要があります。
さらに、HostとPATTERNSの機能が不明な場合は、これら2つのセクションを理解していることを確認します。一致するレベルは1つだけです。この機能は、正規表現機能では非常に基本的ですが、一度使用すると強力です。
ホストセクション
The possible keywords and their meanings are as follows (note that keywords
are case-insensitive and arguments are case-sensitive):
Host Restricts the following declarations (up to the next Host keyword)
to be only for those hosts that match one of the patterns given
after the keyword. If more than one pattern is provided, they
should be separated by whitespace. A single ‘*’ as a pattern can
be used to provide global defaults for all hosts. The host is the
hostname argument given on the command line (i.e. the name is not
converted to a canonicalized host name before matching).
A pattern entry may be negated by prefixing it with an exclamation
mark (‘!’). If a negated entry is matched, then the Host entry is
ignored, regardless of whether any other patterns on the line
match. Negated matches are therefore useful to provide exceptions
for wildcard matches.
See PATTERNS for more information on patterns.
パターン
A pattern consists of zero or more non-whitespace characters, ‘*’ (a
wildcard that matches zero or more characters), or ‘?’ (a wildcard that
matches exactly one character). For example, to specify a set of
declarations for any host in the “.co.uk” set of domains, the following
pattern could be used:
Host *.co.uk
The following pattern would match any host in the 192.168.0.[0-9] network
range:
Host 192.168.0.?
A pattern-list is a comma-separated list of patterns. Patterns within
pattern-lists may be negated by preceding them with an exclamation
mark (‘!’). For example, to allow a key to be used from anywhere within an
organisation except from the “dialup” pool, the following entry
(in authorized_keys) could be used:
from="!*.dialup.example.com,*.example.com"
階層化ルール
アプローチの問題は、1番目のホストセクションに一致するパターンが2番目のホストセクションに一致しないことです。私は通常このようなことをします:
Host *
User myuser
IdentityFile ~/.ssh/myidentity
Host blah
HostName complicated.hostname.com
人々が通常これらのルールを受け入れないのは、繰り返すことができるということです。したがって、私がよくすることは複数のセクションを持ち、を使用してそれらを分割することですHost *
。
Host *
User user1
Host blah1
HostName complicated1.hostname.com
Host blah2
HostName complicated2.hostname.com
Host *
User user2