
私はトンネルを作成してサーバーAからサーバーBにSSHを渡すことができることを知っています。
私が求めているのは、上記のパターンの赤の代わりです。このシナリオは可能ですか?
- SSH経由でサーバーAに接続
- サーバーAは、クライアントにサーバーBに移動するように指示します。
- サーバーBはSSHを介してクライアントと直接通信します。
したがって、デフォルトでは、クライアントとサーバーを相互に導入して通信を終了するプロキシです。
ファイアウォールリダイレクトでは、多くのカスタム機能が提供されていないようです。
私が最終的に探しているのは、クライアントに透明な地理的位置に基づいてSSHを介してgitミラーにアクセスする方法です。
高度なシーンシーン
- サーバーAからサーバーBに近いクライアントをインポートすると、Bにリダイレクトされます。
- プッシュ中、クライアントはサーバーAに残ります。
答え1
残念ながら、SSHにはこれを行うための公開フラグはありません。 GITのいくつかのカスタムコードを書く必要があります。 (つまり、サーバーAのping時間がサーバーBより短い場合はAを使用し、その逆も同様です。)
答え2
次のパッケージを考えてみましょう。
- サーバーまたはgitトランスポート初期化スクリプトを保持するマスターサーバー
- クライアントでマスターサーバー(またはすべてのサーバー)でスクリプトを実行してターゲットサーバーを取得するようにGitエイリアスを定義します。
リダイレクトのみが必要な場合は、pull
エイリアスが必要です。しかし、リダイレクトしたいかもしれませんfetch
(もっと多くのコマンドでなければ、私はGitに精通していません)。