0

SSH を除いて、HTTP Host: ヘッダーが行うことを行う方法を探しています。

それを想像するfoo.example.comと、bar.example.com両方とも に解決され1.2.3.4ます。ssh git@foo.example.comではなく経由でログインが行われたことを確認するにはどうすればよいssh git@bar.example.comですか?

私は見つけ$SSH_CONNECTIONましたが、ホスト名ではなく、クライアントとサーバーのIPアドレスしかありません。

PS私が本当に求めているのは、SSHトランスポートを介してgit仮想ホスティングを機能させる方法です。私のクライアントは直接 ssh ではありませんが、ssh を呼び出す git です。仮想 git ホスティングは、おそらく HTTP (Host: を使用) および git-daemon (ホスト名が何であるかが通知されているようです) を介して機能させることができることを理解しています。しかし、SSH はどうでしょうか。それ以外の場合、仮想ホスティング環境で (安全な) コミットを機能させるにはどうすればよいですか?

そうでない場合:これを近似するクラッジはありますか?

4

2 に答える 2

2

簡単な答えはノーです.openSSHの仮想ホストに相当するものはありません.

foo.example.com質問は、実際には、 と を介してログインしているクライアントにどのような違いを提示したいかということになりますbar.example.com

クライアントが使用するホストに基づいて、クライアントのgitリポジトリをホストするための2つの独立したルートディレクトリセットを提供したいだけだと思います。その場合は、各ユーザーに別のユーザー名を使用するように依頼することができます。これにより、適切な分離されたアクセス許可を持つ別のホーム ディレクトリにアクセスできるようになります。git は SSH プロトコルを使用してサーバーにファイルを保存するだけなので、本当に透過的でなければなりません。

単一の Xen または同等のサーバーに複数の VM を配置する場合は、この投稿で説明されているように、Xen サーバーから複数の VM への SSH ゲートウェイをセットアップすることを検討できます。

于 2013-03-21T22:05:26.853 に答える
0

(今後の回答)昨年、これを SSH に追加するという議論があったようです。実装のための提案はopenssh、サーバー上で実行されるスクリプトがアクセスされている仮想ホストを認識できるように、環境変数を使用することでした。

于 2014-03-19T17:36:08.847 に答える