지정된 IP를 가진 컴퓨터만 SSH를 통해 로그인하도록 허용하는 방법은 무엇입니까?

지정된 IP를 가진 컴퓨터만 SSH를 통해 로그인하도록 허용하는 방법은 무엇입니까?

허용된 IP가 있는 컴퓨터만 SSH를 통해 내 시스템에 로그인하도록 허용하고 싶습니다.

예를 들어, userAip만 사용 xx.xx.xx.xx하거나 yy.yy.yy.yyssh를 통해 로그인할 수 있으며 다른 ip는 userA. 그리고 ssh를 통해 로그인 하려면 userBip만 사용할 수 있으며 .zz.zz.zz.zzzz.zz.zz.zzuserB

이를 달성하려면 Linux를 어떻게 설정해야 합니까?

답변1

/etc/ssh/sshd_config다음을 추가합니다 .

AllowUsers [email protected] [email protected] userA
AllowUsers [email protected] userB

그런 다음 SSH 데몬을 다시 시작합니다.

다음에 설명된 대로 와일드카드를 사용할 수 있습니다.패턴섹션ssh_config 매뉴얼.

답변2

iptables를 통해 이를 수행할 수 있습니다.

주소 1.2.3.4에서 SSH(포트 22)로의 모든 연결:

iptables -A INPUT -p tcp -m state --state NEW --source 1.2.3.4 --dport 22 -j ACCEPT

다른 모든 SSH 연결을 거부합니다.

iptables -A INPUT -p tcp --dport 22 -j DROP

답변3

한 가지 접근 방식(인증을 위해 PAM을 사용 하는 경우) pam_rhostsrequired. /etc/pam.d/ssh이를 통해 각 사용자는 자신의 .rhosts파일에서 연결이 허용되는 위치를 지정할 수 있습니다.

파일의 인증 모듈은 pam.d공개 키 로그인에 대해 참조되지 않습니다(예: auth required pam_deny.so내 컴퓨터에서 비밀번호 로그인을 방지해야 함). 다른 모듈( accountsession)은 계속 사용됩니다.

관련 정보