이상한 SSH 문제: "열기 실패: 관리 금지:"

이상한 SSH 문제: "열기 실패: 관리 금지:"

Firefox 플러그인 AutoProxy가 설치된 VPS를 내 소켓5 프록시로 설정했습니다.

ssh -p 2034 -D 127.0.0.1:1080  root@vps_ip

내 VPS의 포트는 2034입니다.

이 명령은 약 10~20분 동안 작동합니다. 이 시간 동안 Firefox에서 많은 웹 페이지가 열려 있는데 갑자기 연결이 차단되고 오류 메시지가 나타납니다.

channel 8: open failed: administratively prohibited
channel 9: open failed: administratively prohibited
channel 10: open failed: administratively prohibited

예를 들어 stackoverflow에서 이 질문을 검색했습니다.SSH 터널 오류: "채널 1: 열기 실패: 관리자 금지: 열기 실패"

내 문제는 이것과 다릅니다!

  1. 매번 SSH 터널이 올바르게 생성됩니다.
  2. SSH 터널이 생성되면 잠시(10~20분) 동안 웹을 탐색할 수 있습니다.
  3. Firefox에서 많은 웹페이지를 열면 터널이 깨집니다.
  4. Firefox와 콘솔을 잠시 닫으면 터널을 다시 만들 수 있습니다.

계속해서 순환하게 됩니다.
내 VPS 및 SSH 서비스에 어떤 문제가 있나요? 내 시스템은 debian8.1입니다. SSH 로그 파일은 어디에 있나요? 내 데비안에는 /var/log/secure가 없습니다. 아마도 SSH 로그 파일을 보면 더 많은 사실을 알 수 있을 것입니다.

답변1

연결당 동시 세션 수에 대한 SSH 서버 제한에 도달한 것 같습니다. 원격 서버와의 명령줄 세션은 하나의 세션이고, 개별적으로 전달된 각 TCP 연결은 또 다른 세션입니다.

MaxSessions다음 매개변수를 통해 서버 제한을 ​​변경할 수 있습니다.서버 sshd_config파일:

최대 세션 수
네트워크 연결당 허용되는 최대 열린 세션 수를 지정합니다. 기본값은 10입니다.

다음과 같이 sshd_config를 업데이트할 수 있습니다.

  1. 파일을 찾으세요. 대개 /etc/ssh/sshd_config.
  2. 루트로 편집하십시오.
  3. 파일에서 기존 설정을 찾습니다 MaxSessions(있는 경우). 그렇지 않으면 새 행을 추가합니다. 숫자를 약 15로 설정하십시오. 새 파일을 저장합니다.
  4. 파일을 다시 읽도록 sshd를 다시 시작하십시오.
  5. 새로운 SSH 연결을 만들고 동작이 변경되는지 확인하세요.

답변2

다른 DNS 서버(OpenDNS 또는 Google)를 사용해 보세요.

이 문제가 발생했고 MaxSessions를 늘려도 도움이 되지 않았습니다.

/var/log/auth.log다음과 같은 많은 오류를 발견했습니다 .

sshd[24976]: error: connect_to p.ebaystatic.com: unknown host (Name or service not known)

모든 호스트에 대해 ping을 수행할 수 있지만 문제가 없는 것으로 나타났습니다. 나에게는 google DNS에서 OpenDNS로 전환하면 문제가 해결되었습니다. (아마도 최종 원인은 인터넷 연결의 패킷 손실로 인해 DNS 시간 초과가 발생했기 때문일 것입니다. 확실하지 않습니다.)

어쨌든, 이것이 DNS에서 찾을 수 없는 호스트에 양말 프록시를 통해 연결하려고 할 때 "Administrative Forbidden" 오류 메시지가 나타나는 원인 중 하나라고 생각합니다.

답변3

예, 아마도 MaxSessions에 도달했을 것입니다. + FireFox about:config 설정에서 network.http.pipelined.maxrequests를 확인하십시오. + 이 값을 기록해 두십시오.

기본값은 일반적으로 5입니다.

동시에 여러 사이트를 방문하는 경우, 즉 첫 번째 페이지가 렌더링되기를 기다리는 동안 새 페이지나 새 탭을 클릭하는 경우 MaxSessions 대상을 network.http.pipelined.maxrequests *로 설정하세요. 언제든지 방문 횟수.

그런 다음 이 값은 백그라운드 AJAX 연결을 고려하여 두 배 또는 세 배가 됩니다. 예를 들어 WordPress에 로그인한 경우 브라우저가 지속적으로 AJAX 핑 요청을 보내게 됩니다.

아마도 sshd + ssh 터널 명령에서 심층 디버깅을 활성화하여 MaxSessions가 초과되었는지 확인하고 그렇다면 더 추가하면 됩니다.

관련 정보