sshd_config MaxSessions 매개변수

sshd_config MaxSessions 매개변수

MaxSessions매개변수에 문제가 있습니다 sshd_config.

SSH 연결을 통한 세션 수를 제한하고 싶습니다. 예를 들어 TCP 전달에 사용됩니다. 0으로
설정하면 MaxSessions로그인이 작동하지 않지만(괜찮습니다. 그렇게 작동해야 합니다), 1로 설정하면 하나의 SSH 연결을 통해 여러 세션을 가질 수 있습니다(1이 멀티플렉싱을 비활성화하더라도). 2 이상으로 설정하면 효과도 떨어집니다.
아마도 당신은 나를 올바른 해결책으로 안내해 줄 수 있을 것입니다.

저는 다음과 같이 테스트했습니다. PuTTY(Win)에서 서버(BSD)로 ssh 연결을 엽니다. 포트 전달이 사용 중입니다(HTTP용). 그래서 브라우저에서는 SOCKS를 사용하고 있습니다.
두 개의 서로 다른 웹사이트에서 두 개의 파일을 동시에 다운로드하고 있는데 이 터널을 통해 두 파일을 동시에 다운로드할 수 있지만 그렇게 해서는 안 됩니다( MaxSessions1로 설정).

  • 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

관련 정보