Unix의 특정 IP 주소에 대한 SSH 액세스를 제한하는 정식 방법이 있습니까?

Unix의 특정 IP 주소에 대한 SSH 액세스를 제한하는 정식 방법이 있습니까?

manOS X 및 기타 시스템 관련 페이지를 확인 하고 파일을 사용해 보았습니다.sshhosts.allowhosts.deny이 게시물, 그리고 sshd_config소용이 없습니다.

$ cat /etc/hosts.allow 
sshd: 192.168.0.4/255.255.255.0
$ cat /etc/hosts.deny 
sshd: ALL

sshd_config사용해 보았지만 성공 Match하지 못했습니다(정확한 구성이 기억나지 않습니다).

sshd내 시스템은 OS X 10.8.5이고 로컬 IP 192.168.0.4/24 또는 해당 로컬 이름에서의 액세스를 허용하고 게이트웨이 192.168.0.1을 포함한 다른 모든 호스트의 액세스를 거부하고 싶습니다 .

고쳐 쓰다아래 Stephen Kitt가 제안한 솔루션은 형식을 제외하고 작동합니다 AllowUsers name/pattern@hostname. 그러면 다음이 기록됩니다.

sshd[31723]: debug1: attempt 6 failures 5 [preauth]
sshd[31723]: debug1: keyboard-interactive devs  [preauth]
sshd[31723]: debug1: auth2_challenge: user=test devs= [preauth]
sshd[31723]: debug1: kbdint_alloc: devices 'pam' [preauth]
sshd[31723]: debug1: auth2_challenge_start: trying authentication method 'pam' [preauth]
sshd[31723]: Postponed keyboard-interactive for invalid user test from 192.168.0.4 port 55680 ssh2 [preauth]
sshd[31723]: error: PAM: authentication error for illegal user test from 192.168.0.4 via 192.168.0.5
sshd[31723]: Failed keyboard-interactive/pam for invalid user test from 192.168.0.4 port 55680 ssh2
sshd[31723]: Disconnecting: Too many authentication failures for test [preauth]
sshd[31723]: debug1: do_cleanup [preauth]

답변1

Match를 사용하는 대신 단일 호스트에서 로그인을 허용하려면 다음이 나에게 도움이 되었습니다(in sshd_config).

AllowUsers *@192.168.0.4

사용자는 대상의 로그인을 사용하여 192.168.0.4에서만 로그인할 수 있습니다. 원하는 경우 *특정 로그인 이름으로 바꾸고 공백으로 구분된 여러 패턴을 지정할 수 있습니다.

AllowUsers [email protected] [email protected]

관련 정보