Nginxを使用してポート80のドメインを正しい仮想マシンにリダイレクトしていますが、ポート22でSSHを使用してこれを実行できるかどうか疑問に思います。ポート22を介してすべてのSSHトラフィックを正しいゲストにリダイレクトしますか?
答え1
いいえ、そうすることはできません。そのプロトコルがサポートされているため、HTTPと連携します。名前ベースの仮想ホスティング.SSH番号
答え2
SSHツールを使用してProxyCommand
これを行うことができます。ファイルに次のコンテンツを追加します$HOME/.ssh/config
。存在しない場合は、次の内容にします。
Host remoteserverX
User userint
ProxyCommand ssh userext@externalserver nc remoteserverX %p
Host remoteserverY
User userint
ProxyCommand ssh userext@externalserver nc remoteserverY %p
その後、次のように他の内部リモートサーバーに接続できます。
$ ssh remoteserverX
-or-
$ ssh remoteserverY
この機能に関しては、これは氷山の一角に過ぎません。次のタイトルのU&L Q&Aをご覧ください。中間サーバーを介したSSHトンネリング - キーペアを使用してワンステップで接続するにはどうすればよいですか?、詳細については。
メモ:上記の方法は、主要なnc
ディストリビューションのリポジトリにある必要がある(netcat)というツールを使用します。
これは、外部システムを介して内部システムにトンネリングするNginxのリダイレクトと全く同じではありませんが、同様の効果があります。
複雑な例
1つの
Host
セッション、複数のホスト。Host *.mydom.com * ProxyCommand ssh externalserver nc %h %p
多くのユーザーのための「ホスト」セクション。
この
Hosts
セクションをシステム/etc/ssh/ssh_config
ファイルに追加すると、ボックスにログインしている人なら誰でも利用できます。