내부 네트워크에서 SSH 서버로의 비밀번호 인증 만 허용


22

내부 네트워크와 인터넷 모두에서 연결을 허용하는 Ubuntu Precise 12.04에서 실행되는 OpenSSH 5.9p1 서버가 있습니다. 인터넷 연결에는 공개 키 인증이 필요하지만 내부 네트워크 연결에는 공개 키 또는 암호 인증이 필요합니다. 이를 구현하도록 OpenSSH를 구성 할 수 있습니까?

답변:


34

Match의 지시자는 /etc/ssh/sshd_config당신이 선택적으로 구성 지침을 적용 할 수 있습니다. 사용 가능한 일치 기준 중 하나는 연결의 소스 주소이므로 원하는 것을 구현하는 데 사용할 수 있습니다. 기본적으로 비밀번호 인증을 비활성화 한 다음 내부 네트워크 IP 범위에서 연결하기 위해 비밀번호 인증을 활성화 할 수 있습니다. ( ChallengeResponseAuthentication비밀번호 사용을 방지하기 위해 사용하지 않으려는 경우도 있습니다 .)이 예는 모든 RFC1918 개인 IP 범위의 비밀번호 인증을 허용합니다. 자세한 내용은 sshd_config 맨 페이지 를 참조하십시오.

PasswordAuthentication no
ChallengeResponseAuthentication no

Match Address 10.0.0.0/8,172.16.0.0/12,192.168.0.0/16
    PasswordAuthentication yes

일치 블록은 파일 끝에 추가해야합니다. 그렇지 않으면 그 뒤에 오는 모든 항목이 다음 일치 블록까지 일치합니다. Match 블록의 위치가 잘못되면 연결하지 못할 수 있습니다.


3
참고 :이 작업을 수행하고 공개적으로 액세스 가능한 일부 시스템 (점프 호스트)에서 위의 구성 (내부 호스트)이있는 시스템으로 SSH를 전달하면 점프 호스트의 소스 IP가 RFC1918 주소이므로 내부 호스트에 비밀번호 인증을 허용합니다.
c4urself
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.