MaxSessions
매개변수에 문제가 있습니다 sshd_config
.
SSH 연결을 통한 세션 수를 제한하고 싶습니다. 예를 들어 TCP 전달에 사용됩니다. 0으로
설정하면 MaxSessions
로그인이 작동하지 않지만(괜찮습니다. 그렇게 작동해야 합니다), 1로 설정하면 하나의 SSH 연결을 통해 여러 세션을 가질 수 있습니다(1이 멀티플렉싱을 비활성화하더라도). 2 이상으로 설정하면 효과도 떨어집니다.
아마도 당신은 나를 올바른 해결책으로 안내해 줄 수 있을 것입니다.
저는 다음과 같이 테스트했습니다. PuTTY(Win)에서 서버(BSD)로 ssh 연결을 엽니다. 포트 전달이 사용 중입니다(HTTP용). 그래서 브라우저에서는 SOCKS를 사용하고 있습니다.
두 개의 서로 다른 웹사이트에서 두 개의 파일을 동시에 다운로드하고 있는데 이 터널을 통해 두 파일을 동시에 다운로드할 수 있지만 그렇게 해서는 안 됩니다( MaxSessions
1로 설정).
sshd
- FreeBSD용 OpenSSH 5.2 포터블- 운영 체제-FBSD 6.2
도움을 주셔서 감사합니다.
답변1
sshd_config(5)에서
최대 세션 수 네트워크 연결당 허용되는 최대 열린 세션 수를 지정합니다. 기본값은 10입니다.
이 특정 제한 사항에 대한 man 항목은 다소 모호합니다. 이 기능에 대한 변경 로그 메시지를 추가하면 더 도움이 됩니다.
단일 TCP 연결에서 지원되는 다중화 세션 수를 제어할 수 있도록 MaxSessions 옵션이 sshd_config(5)에 추가되었습니다. 이를 통해 허용되는 세션 수를 이전 기본값인 10 이상으로 늘리고, 연결 멀티플렉싱을 비활성화하거나(MaxSessions=1) 로그인/셸/하위 시스템 세션을 완전히 금지(MaxSessions=0)할 수 있습니다.
실제로 MaxSessions 매개변수는 세션 수를 제한하도록 설계되었습니다.멀티플렉싱SSH 세션은 단일 SSH 세션을 통해 수행될 수 있습니다. ssh_config(5)의 ControlMaster 섹션을 참조하십시오.
세션 멀티플렉싱을 사용하면 동일한 호스트에 대한 다른 모든 연결에서 재사용할 수 있는 단일 마스터 연결을 설정할 수 있습니다(그러나 반드시 그럴 필요는 없음). 이는 포트 전달이나 SOCKS 프록시에는 영향을 미치지 않습니다. 또한 연결 능력에는 영향을 미치지 않습니다.다시새 네트워크를 통해 동일한 호스트에 연결합니다. 이는 연결 다중화에만 국한되며 그 이상은 아닙니다.
답변2
다음은 동시 연결 제한에 대한 일반 정보를 찾고 있는 이 스레드를 클릭하는 분들을 위한 참고 사항입니다.
사용자가 SSH를 통해 가질 수 있는 동시 로그인 수를 제한하려면 다음을 조정할 수 있습니다.limits.conf
/etc/security/limits.conf
:
foo-user - maxlogins 1
의 sshd_config
사용을 방지하기 위해 세션 수를 제한할 수 있습니다.ControlMaster auto
~/.ssh/config
/etc/ssh/sshd_config
:
MaxSessions 1
그럼 sudo service sshd restart
아니면sudo systemcl restart sshd
답변3
Chef를 사용하는 경우 멀티플렉싱에 의존하는 것처럼 MaxSessions 1
추가 /etc/ssh/sshd_config
하면 중단됩니다 . knife ssh
누구든지 해결책이 있다면 듣고 싶습니다! (MaxSessions 1을 추가하고 Chef를 깨뜨리지 않는 것, 즉...)
노트:위의 ^^^에 대해 다음과 같은 오류가 표시됩니다.
ERROR: IOError: closed stream
ERROR: Net::SSH::Disconnect: connection closed by remote host