OpenSSH : 매치 블록을 종료하는 방법 블록을 사용하여 일부

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일치 블록을 끝내는 것과 같은 구문이 있는지 궁금합니다 .



답변

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는 시작을 거부)


답변

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

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

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


답변

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

Host

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

Match

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

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