![지정된 IP를 가진 컴퓨터만 SSH를 통해 로그인하도록 허용하는 방법은 무엇입니까?](https://linux55.com/image/83585/%EC%A7%80%EC%A0%95%EB%90%9C%20IP%EB%A5%BC%20%EA%B0%80%EC%A7%84%20%EC%BB%B4%ED%93%A8%ED%84%B0%EB%A7%8C%20SSH%EB%A5%BC%20%ED%86%B5%ED%95%B4%20%EB%A1%9C%EA%B7%B8%EC%9D%B8%ED%95%98%EB%8F%84%EB%A1%9D%20%ED%97%88%EC%9A%A9%ED%95%98%EB%8A%94%20%EB%B0%A9%EB%B2%95%EC%9D%80%20%EB%AC%B4%EC%97%87%EC%9E%85%EB%8B%88%EA%B9%8C%3F.png)
허용된 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
)을 사용하고 있습니다.