답변:
으로 gelraen 명시된 기본 ssh_config
정규 표현식을 지원하지 않습니다하지만 당신은 같은 뭔가 다른 시도 할 수 있습니다 :
의 PATTERNS
섹션을 참조하십시오 man ssh_config
.
긴 대답은 : 아닙니다 ssh
. 지원 하기 위해 패치를하지 않으면 안됩니다 .
에서 정규 표현식을 모두 사용할 수 있습니다 ssh_config
.
관련 문서는 읽고 이해하기 어려운 IMO입니다. 나는 13 년 이상의 Linux 경험과 8 년 이상의 경험을 가지고 있기 때문에 그것을 이해합니다 ssh
. 다음은 문서에 대한 요약입니다.
man ssh_config
라는 기능을 설명합니다 Match
exec
일치하는 것을 결정하기 위해 임의의 쉘 명령을 사용할 수 있는 기능 이 있습니다.TOKENS
내 경우에는 내에서 사용했습니다~/.ssh/config
.
Match exec "echo %h | grep -q 'NAME[0-9]\+$'"
User USER
IdentityFile /path/to/identity/file
Hostname %h.fully.qualified.domain.name
이와 같은 까다로운 것으로 테스트를 수행해야합니다. 그리고 그 테스트를 수행하기 위해 전화하십시오 ssh -vvv HOSTNAME
. 어떤 일이 일어나고 있는지, 새로운 Match
것이 올바르게 구현되었는지 여부를 정확하게 보여줍니다 .
Trevor의 답변 연장 :
더 복잡한 호스트 매칭 같이 또한 가능 foo123.123
하고 foo10.10
하나의 규칙에 WITHOUT 사용한 호스트에 대한 DNS 엔트리를 갖는
Match exec "echo %h | grep -q 'foo[0-9]\+.[0-9]\+$'"
Port 1234 # just to show it can be paired with non-default ports too,
# see %p in man ssh_config
ProxyCommand /usr/bin/nc 10.10.$(echo %h | sed -e 's/foo//') %p
ProxyCommand를 사용하여 쉘에서 % h의 내용 을 조작 하고 netcat을 통해 올바른 포트에 연결합니다. 이렇게하면 개별 항목을 만들지 않고 호스트 범주에 대한 사전 설정 을 만들 수 있습니다 .
man ssh_config
.