ssh
30台のサーバーのオプションを設定し、ファイルで同じ設定を使用しているとします.ssh
config
。
host XXX
HostName XXX.YYY.com
User my_username
Compression yes
Ciphers arcfour,blowfish-cbc
Protocol 2
ControlMaster auto
ControlPath ~/.ssh/%r@%h:%p
IdentityFile ~/.ssh/YYY/id_rsa
この30台の機械の間で変更される唯一のことはXXX
。
私のファイルで上記の構造を30回繰り返す以外に、マシンの範囲を定義する他の方法はありますかconfig
?
答え1
ssh_config(5)
マニュアルページから:
Host Restricts the following declarations (up to the next Host key‐ word) 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.
...
HostName Specifies the real host name to log into. This can be used to specify nicknames or abbreviations for hosts. If the hostname contains the character sequence ‘%h’, then this will be replaced with the host name specified on the commandline (this is useful for manipulating unqualified names).
だから:
Host XXX1 XXX2 XXX3
HostName %h.YYY.com
答え2
.ssh/config
設定を最小限に抑えるには、次のようにします。
Host X01
HostName X01.YYY.com
Host X02
HostName X02.YYY.com
...
Host X01 X02 ...
User my_username
Compression yes
Ciphers arcfour,blowfish-cbc
Protocol 2
ControlMaster auto
ControlPath ~/.ssh/%r@%h:%p
IdentityFile ~/.ssh/YYY/id_rsa
Host X01 X02 ...
Host *
各ホストの構成が次の場合は、次のように置き換えることができます。
答え3
ただ使用*
バラよりman ssh_config
:
パターンパターンは、ゼロ個以上の空白以外の文字、「*」(0個以上の文字に一致するワイルドカード)、または「?」(正確に1文字に一致するワイルドカード)で構成されます。たとえば、「.co.uk」ドメインセットのホストのクレームセットを指定するには、次のパターンを使用します。
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"
答え4
これは私にとって効果的です。
Canonicalizeホスト名は次のとおりです。 CanonicalDomains xxx.auckland.ac.nz yyy.auckland.ac.nz ホスト*.xxx.auckland.ac.nz ユーザーmyuser ホスト*.yyy.auckland.ac.nz ユーザーmyuser
これにより、ユーザーはドメイン内で名前を使用し、ユーザー名を変更できます。
bluebottle:~ user_one$ ssh itslogprd05 [Eメール保護]パスワード: