내부 네트워크에서 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.