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

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

Match/etc/ssh/sshd_config특정 사용자가 SFTP를 사용하지 못하도록 제한하기 위해 OpenSSH(debian)의 블록을 사용하고 있습니다 .

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

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

End Match이제 일치하는 블록을 끝내는 비슷한 구문이 있는지 궁금합니다.

답변1

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

Match 블록을 명시적으로 종료할 수 있는 방법은 없는 것 같습니다. ~에서sshd_config 매뉴얼 페이지:

일치 라인의 모든 조건이 충족되면 다음 라인의 키워드가 구성 파일의 전역 섹션에 설정된 키워드보다 우선 적용됩니다.일치하는 다른 줄이나 파일의 끝까지.

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

답변3

나는 우리가 두 가지 Match와 핵심을 모두 언급해야 한다고 생각합니다.Host

Host

다음 선언(다음 Host또는 Match키워드까지)을 키워드 뒤에 제공된 패턴 중 하나와 일치하는 호스트로만 제한합니다.

Match

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

설명서를 읽고 man ssh_config이전 Host *제한 블록이 블록인지 블록 Match all인지에 관계없이 이전 제한 블록을 재설정합니다 .MatchHost

관련 정보