sshサーバーがログインに使用されたパブリックドメイン名を知ることは可能ですか?


3

複数の異なるパブリックドメイン名でアクセスできるsshサーバーをセットアップする必要があるが、使用するドメイン名に応じてユーザーに異なるTTYインターフェイスを提供する状況があります。

実装を試みる前に、次の要件が可能かどうか、もし可能ならどのようにしたいかを知りたい:

sshを介して2種類のBBSスタイルのサービスを提供する2つのドメイン名があります。実際には、両方のドメイン名が同じ物理Linuxボックスにルーティングされますが、Linuxボックスは、アクセスに使用されるドメインを解決して、ユーザーに2つの独立したサービスであるという錯覚を与える必要があります。

例:

ユーザーがユーザー名を使用してログインするとき、sshサーバーをセットアップして、ユーザーがexample.comまたはexample.orgのどちらに接続したかを判断します。user@example.comに接続した場合、bashシェルを取得し、user @ exampleに接続した場合。org、代わりにTTYベースのMUDゲームを取得する必要があります。

sshdからこの情報を取得するにはどうすればよいですか?sshdは環境変数を設定しますか?または、私は間違った方向に進んでいますか?1つのサーバーで複数のsshサービスを実行する簡単な方法はありますか?


回答:


5

いいえ。SSHv2プロトコル(HTTPやTLSとは異なり)には、クライアントがこの情報をサーバーに提供する標準的な方法がありません。サーバーはTCPソケット情報(OpenSSHが$ SSH_CONNECTIONで公開する)のみを見ることができます。

OpenSSHメーリングリストなどで新しいプロトコル拡張機能について議論することができます(実装するための論理的な方法は、最近追加されたキー交換拡張メカニズムによるものです)が、それが書かれて受け入れられても、ほとんどのクライアントは、このようなホスト名の表示をサポートしています。

実際には、MUDドメインの2番目のIPアドレスを取得するか、代替TCPポートでゲームを実行するか、1つのサービスが他のサービスにブリッジするように指示する特別なユーザー名を設定する必要があります。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.