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 no
Directive '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
Host
Match 키워드 다음의 조건이 충족되는 경우에만(next 또는 키워드 까지) 다음 문을 사용하도록 제한합니다 .Match
설명서를 읽고 man ssh_config
이전 Host *
제한 블록이 블록인지 블록 Match all
인지에 관계없이 이전 제한 블록을 재설정합니다 .Match
Host