奇妙なSSHの問題:「オープン失敗:管理禁止:」

奇妙なSSHの問題:「オープン失敗:管理禁止:」

FirefoxプラグインAutoProxyがインストールされているVPSをMy Socket 5プロキシに設定しました。

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

私のVPSのポートは2034です。

このコマンドは約10〜20分間動作します。この間、Firefoxで多くのWebページが開いていますが、突然接続がブロックされ、エラーメッセージが表示されます。

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分)Webを閲覧できます。
  3. Firefoxで多くのWebページを開くと、トンネルが壊れます。
  4. Firefoxとコンソールをしばらく閉じると、トンネルを再作成できます。

続けて循環するようになります。
私のVPSとSSHサービスにはどのような問題がありますか?私のシステムはdebian8.1です。 SSHログファイルはどこにありますか?私のDebianには/var/log/secureはありません。おそらくSSHログファイルを見ると、より多くの事実がわかります。

答え1

接続あたりの同時セッション数のSSHサーバー制限に達したようです。リモートサーバーとのコマンドラインセッションは1つのセッションであり、個別に転送された各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」エラーメッセージが表示される原因の1つだと思います。

答え3

はい、おそらくMaxSessionsに達したでしょう。 + FireFox about:config 設定で network.http.pipelined.maxrequests を確認してください。 +この値を書き留めてください。

デフォルトは通常5です。

同時に複数のサイトにアクセスする場合、つまり最初のページがレンダリングされるのを待っている間に新しいページまたは新しいタブをクリックする場合は、MaxSessionsターゲットをnetwork.http.pipelined.maxrequests *に設定します。いつでも訪問回数。

その後、この値はバックグラウンドAJAX接続を考慮して2倍または3倍になります。たとえば、WordPressにログインしている場合、ブラウザは常にAJAX pingリクエストを送信します。

おそらく、sshd + sshトンネルコマンドでディープデバッグを有効にしてMaxSessionsを超えたことを確認し、そうであればさらに追加します。

関連情報