SSH 구성에 유사한 항목이 여러 개 있습니다.

SSH 구성에 유사한 항목이 여러 개 있습니다.

ssh30개의 서버에 대한 옵션을 구성하고 파일에서 동일한 설정을 사용한다고 가정해 보겠습니다 .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개 이상의 공백이 아닌 문자, "*"(0개 이상의 문자와 일치하는 와일드카드) 또는 "?"(정확히 한 문자와 일치하는 와일드카드)로 구성됩니다. 예를 들어 ".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
[이메일 보호됨]비밀번호: 

관련 정보