私は Web サービス アーキテクチャに取り組んでいます。Vagrant ではなく、ネイティブ ホスト マシンで実行する必要があるソフトウェアがいくつかあります。ただし、ゲストでクライアント サービスをいくつか実行したいと考えています。
Vagrant のconfig.vm.forwarded_port
パラメータはホスト上のポートを開き、データをゲストに送信します。しかし、ゲスト上のポートを開いてデータをホストに送信するにはどうすればよいでしょうか? (これは依然としてポート転送ですが、逆方向です。)
ベストアンサー1
を実行するとvagrant ssh
、実際には次の基礎コマンドが使用されます。
ssh -p 2222 -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -o LogLevel=ERROR -o IdentitiesOnly=yes -i ~/.vagrant.d/insecure_private_key [email protected]
SSH は、 オプションを使用して、必要な方向にポートを転送することをサポートしています。したがって、ゲストの-R guestport:host:hostport
ポートに接続して に転送する場合は、次のコマンドを使用します。12345
localhost:80
ssh -p 2222 -R 12345:localhost:80 -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -o LogLevel=ERROR -o IdentitiesOnly=yes -i ~/.vagrant.d/insecure_private_key [email protected]
Eero が正しくコメントしているように、 というコマンドを使用することもできますvagrant ssh -- -R 12345:localhost:80
。これは、より簡潔なコマンドで同じ効果をもたらします。