특정 인터페이스에서 SSH 비밀번호 인증 비활성화

특정 인터페이스에서 SSH 비밀번호 인증 비활성화

OpenWrt 라우터가 있는데 SSH에서 비밀번호 인증을 비활성화하여 키로만 인증할 수 있도록 하고 싶습니다. 이는 다음을 통해 쉽게 달성할 수 있습니다.가이드그러나 문서에는 WAN 인터페이스에서만 비밀번호 인증을 비활성화하고 싶습니다. 이것이 가능합니까?

답변1

이 답변은 OpenSSH에 적용됩니다. OpenWRT에는 기본적으로 Dropbear가 포함되어 있으므로 다음과 같이 교체해야 합니다.이 링크(기본적으로 설치 openssh-server및 비활성화 dropbear).

OpenSSH를 사용하면 다음 두 가지 메커니즘을 사용하여 원하는 것이 가능합니다.

  1. sshdLAN 및 WAN 인터페이스에 대한 별도의 구성. 이는 고정 WAN IP가 있는 경우에만 잘 작동합니다( sshd특정 인터페이스를 듣도록 지시하는 것은 불가능하며 특정 IP만 듣도록 지시할 수 있습니다 ).
  2. LAN의 클라이언트에 대해서만 비밀번호 인증을 허용하십시오.

옵션 1:

LAN 구성 파일(예: /etc/ssh/sshd_config기본 파일)에는 다음과 같은 내용이 있습니다.

PasswordAuthentication yes
Listen 192.168.1.1:22

WAN 구성 파일(예 /etc/ssh/sshd_config_wan:

PasswordAuthentication no
Listen 10.1.1.1:22    

위에서 192.168.1.1은 LAN 인터페이스 IP이고, 10.1.1.1은 WAN IP 주소이며, 두 경우 모두 22는 수신할 포트입니다. -f옵션을 사용하여 로드할 구성 파일을 지정할 수 있습니다 sshd. 기본 init 스크립트를 새 스크립트에 복사하고 sshd으로 호출하도록 수정해야 합니다 -f /etc/ssh/sshd_config_wan.

옵션 2:

에서는 /etc/ssh/sshd_config이것을파일 중:

PasswordAuthentication no

Match address 192.168.1.0/24
    PasswordAuthentication yes

여기서는 LAN 주소(여기서는 192.168.1.0/24로 가정)를 제외하고 비밀번호 인증을 비활성화합니다.

답변2

서로 다른 인터페이스를 수신하는 서로 다른 구성을 사용하여 SSH 서버의 두 인스턴스를 실행할 수 있습니다.

관련 정보