PuTTY를 통해 Linux 시스템에 액세스해야 하는 상황이 있습니다. 다양한 SSH 시도를 시도했지만 컴퓨터에 연결할 수 없습니다. 그러다가 내 동료가 동일한 Linux 상자에 루트로 액세스하고 있다는 것을 깨달았고 나도 루트로 액세스하고 싶었습니다. 나는 그에게 루트로 로그인할 수 있도록 로그아웃을 요청했습니다. Linux 운영 체제에서 SSH 로그인 수를 제한하는 방법이 있습니까? 이것이 Windows 기반 운영 체제와 Linux 기반 운영 체제를 구별하는 일종의 보안 기능입니까?
답변1
/etc/security/limits.conf
다음과 같이 제한이 설정되어 있을 수 있습니다.
root hard maxlogins 1
필요한 경우 Limit(1)을 더 높은 값으로 변경합니다.
답변2
예, 동시 로그인 세션 수를 제한할 수 있습니다. 하지만 대부분의 Linux 배포판에서는 기본 설정에 이러한 제한을 적용하지 않습니다.
Linux는 다중 사용자 시스템으로 설계되었으며 동일한 사용자는 일반적으로 문제없이 여러 개의 동시 SSH 세션을 갖습니다.
SSH 서버는 MaxSessions
구성 파일의 옵션을 통해 이러한 제한을 적용할 수 있습니다. PAM을 사용하면 다른 사람들이 이미 지적한 것처럼 그러한 제한을 적용할 수 있습니다.
답변3
sshd
세션 수를 제한하도록 독립형 데몬을 설득하는 것은 취약점으로 가득 차 있습니다. MaxSessions
OP가 말하는 것 이상으로 제한하는 것과 같은 것입니다. sshd
들어오는 모든 세션을 PAM을 통해 라우팅하고 적절하게 구성된 PAM 모듈을 사용하여 먼저limit.conf와 같은 항목을 확인하도록 올바르게 구성하지 않는 한 Linux(FreeBSD에서도 유사)에서는 무시됩니다 . 제대로 작동시키기가 어렵습니다.limits.conf
login.conf
반면에 독립 실행형 데몬으로 시작하지 않는 경우 sshd
요청 시 생성되는 "사물"에서 조절 기능을 사용할 수 있습니다.sshd
예를 들어, 조인 제한 기능이 inetd
있습니다 xinetd
(일반적으로 기본적으로 분기된 하위 항목 수에 제한을 적용하지 않음). 클래식에서는 inetd
"max-child"라고 합니다. , 를 사용하여 구성 노브를 xinetd
찾으세요 . instances
예를 들어 inetd
스타일은 다음과 같습니다.
ssh stream tcp nowait/3 root /usr/sbin/sshd sshd -i -4
이는 동시 SSH 연결 수를 3으로 제한합니다.
그렇게 생각하는 사람들을 위해 systemd
기능을 교체할 수 inetd
있으며 서비스 인스턴스 수를 제한하는 방법이 있다고 생각합니다. 연습용으로 독자에게 맡기십시오(또는 자세한 내용을 댓글로 추가하세요!).