OpenSSH : 매치 블록을 종료하는 방법


49

MatchOpenSSH /etc/ssh/sshd_config(debian) 에서 블록을 사용하여 일부 사용자를 SFTP로 제한하고 있습니다.

# my stuff
Match group sftponly
    X11Forwarding no
    AllowTcpForwarding no
    ForceCommand internal-sftp -u 0002
    ChrootDirectory %h

보시다시피, #my stuff사용자 정의 구성 파일에 주석을 사용하여 기본 구성과 구성을 쉽게 구별하고 구성 파일의 끝에 배치합니다.
이제 UseDNS no구성에 지시문을 추가하고 싶었지만 (로그인 속도를 높이기 위해) OpenSSH는 말했습니다 Directive 'UseDNS' is not allowed within a Match block.

이제 End Match일치 블록을 끝내는 것과 같은 구문이 있는지 궁금합니다 .

답변:


30

openssh 6.5p1 이상으로 일치 블록을 끝내려면 다음 행을 사용하십시오. Match all

/etc/ssh/sshd_config파일 에서 가져온 코드 조각은 다음과 같습니다 .

# Change to no to disable tunnelled clear text passwords
PasswordAuthentication no

Match host 192.168.1.12
    PasswordAuthentication yes
Match all

X11Forwarding yes
X11DisplayOffset 10

밑창 Match이 있는 선 은 작동하지 않습니다. (그것은 나를 위해 작동하지 않았다, sshd는 시작을 거부)


2
쿨, 나는 그 중 하나를 시도했지만 예상대로 작동하는 것 같습니다 UseDNS(이전에는 작동하지 않았던 지시문을 사용할 수도 있습니다 .이를 새로운 대답으로 받아들임)-새로운 OpenSSH 버전은 분명히 비어있는 것으로 시작 Match: lists.mindrot.org/pipermail/openssh-unix-dev/2014-April/…
mreithub

42

Match 블록을 명시 적으로 종료 할 방법이없는 것 같습니다. 로부터 sshd_config를 매뉴얼 페이지 :

일치 줄의 모든 기준이 충족되면 다음 줄의 키워드 는 다른 일치 줄 또는 파일 끝까지 구성 파일의 전역 섹션에 설정된 키워드보다 우선 합니다.

따라서 Match블록은 sshd_config파일 의 끝에 있어야 합니다.


7
또 다른 옵션은 Match모든 것을 효과적으로 일치 시키므로 블록을 '종료'하는 것과 동일합니다. 그래도 일치 블록에서 허용되지 않는 지시문을 사용할 수는 없으므로 특정 시나리오에는 도움이되지 않습니다.
Nathan Bouscal

4
"일치 블록은 sshd_config 파일의 끝에 있어야합니다." 나에게 매우 도움이되고 맨 페이지 등에서 (나를 위해) 명확하게 설명하지 않았습니다. 감사합니다.
MountainX

0

Match그리고 Host키 와 키를 동시에 언급해야한다고 생각합니다 .

Host

다음 선언 (다음 Host또는 Match키워드까지)은 키워드 다음에 주어진 패턴 중 하나와 일치하는 호스트에만 적용되도록 제한합니다.

Match

Match 키워드 다음의 조건이 충족되는 경우에만 다음 선언 (다음 Host또는 Match키워드까지)을 사용하도록 제한합니다 .

의 사용 설명서를 읽기 man ssh_config모두, Host *Match all이전 제한 블록을 재설정, 상관없이이없는 Match블록 또는 Host블록.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.