リバースSSHプロキシのリスナーがサーバー上でのみ到達可能な理由
プロキシプロトコルや認証情報を変更する前に、リモートリスナーのバインドアドレスとGatewayPortsモードを確認してください。
リモートフォワードはSSHサーバー側では動作しても、loopbackでのみ待ち受けるため、別のマシンからの接続を拒否することがあります。まず実際の待ち受けアドレスを確認してください。
サーバー側 GatewayPorts | リモートフォワードのバインド |
|---|---|
no、既定値 | リスナーをloopbackに制限する |
yes | ワイルドカードバインドを強制する |
clientspecified | クライアントが特定のバインドアドレスを要求できるようにする |
管理された1つのインターフェース向けのリスナーでは、サーバーは次を使用できます。
GatewayPorts clientspecified
次にクライアントは-R指定で適切なアドレスを要求します。そのアドレスはリモートマシン上に存在する必要があり、他のフォワード制限も引き続き適用されます。クライアント側の-gはこの方向に対する代替の制御ではありません。
3つの許可は別個のままです。フォワードを作成するSSH認可、そのリスナーへのネットワークアクセス、そしてHTTPまたはSOCKSサービス自体のアクセスポリシーです。SSHログインはトンネル作成者を認証しますが、共有リスナーの後続の呼び出し元をすべて認証するわけでも、SOCKSパスワードチャレンジを追加するわけでもありません。
リモートの呼び出し元がまだ接続できない場合は、バインドアドレス、サーバーのフォワード制限、ファイアウォール経路の順に確認してください。TCPがリスナーに到達した後のプロキシハンドシェイクの失敗は、その後の問題です。