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개 이상의 공백이 아닌 문자, "*"(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 [이메일 보호됨]비밀번호: