허용된 IP를 가진 컴퓨터만 SSH를 통해 내 시스템에 로그인하도록 허용하고 싶습니다.
예를 들어, IP 나 SSH를 userA
통해서만 로그인할 수 있으며 , 다른 IP로는 로그인할 수 없습니다 . 그리고 ssh를 통해서만 로그인이 가능하며 , 다른 ip로는 로그인이 불가능합니다 .xx.xx.xx.xx
yy.yy.yy.yy
userA
userB
zz.zz.zz.zz
zz.zz.zz.zz
userB
이를 달성하려면 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_rhosts
은 각 사용자가 연결이 허용되는 파일을 지정할 수 있도록 하는 것입니다.required
/etc/pam.d/ssh
.rhosts
파일의 인증 모듈은 pam.d
공개 키 로그인에 사용되지 않습니다(예: auth required pam_deny.so
내 컴퓨터에서 비밀번호 로그인을 방지해야 함). 아직 다른 모듈( account
등 session
)을 사용하고 있습니다.