sshd_config에 사용자 재정의를 추가하면 ssh_exchange_identification 오류가 발생함

sshd_config에 사용자 재정의를 추가하면 ssh_exchange_identification 오류가 발생함

특정 사용자에 대해 SSH TCP 전달을 허용하고 싶으므로 이 섹션을 sshd_config에 추가합니다.

Match User rainmannoodles
    AllowTcpForwarding yes
    TCPKeepAlive yes

변경 후 연결 시 다음 메시지가 나타납니다.

ssh_exchange_identification: Connection closed by remote host

"사용자 일치" 블록을 주석 처리하면 모든 것이 잘 작동합니다. 이 블록은 파일의 마지막 블록입니다.

나는 이런 행동에 대한 어떤 이유도 생각할 수 없습니다. 여기서 무슨 일이 일어나고 있는 걸까요? 전체 -vvv출력은 다음과 같습니다.

OpenSSH_6.2p2, OSSLShim 0.9.8r 8 Dec 2011
debug1: Reading configuration data /etc/ssh_config
debug1: /etc/ssh_config line 20: Applying options for *
debug2: ssh_connect: needpriv 0
debug1: Connecting to localhost [::1] port 22.
debug1: Connection established.
debug1: identity file /Users/rainmannoodles/.ssh/id_rsa type -1
debug1: identity file /Users/rainmannoodles/.ssh/id_rsa-cert type -1
debug1: identity file /Users/rainmannoodles/.ssh/id_dsa type -1
debug1: identity file /Users/rainmannoodles/.ssh/id_dsa-cert type -1
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_6.2
ssh_exchange_identification: Connection closed by remote host

답변1

서버의 로그를 확인하여 무엇이 잘못되었는지 확인하세요.

sshd가 구성 파일의 형식이 올바르지 않다고 불평할 것으로 예상됩니다. 이 옵션은 TCPKeepAlive블록에서 사용할 수 없습니다 . 아마도 sshd는 인증이 완료된 후 이 옵션 값 변경을 지원하지 않기 때문일 것입니다(이 옵션은 조건을 테스트하기 Match전에 연결 시작부터 사용됩니다 ).Match

관련 정보