リモートLinuxサーバーから、win10ホストで実行されているubuntuゲストにSSHで接続する方法を教えてください。


10

短縮版

Windows 10ホストからUbuntuゲストVirtualBox VMを実行している場合ssh、リモートLinuxサーバーからUbuntuゲストVMにアクセスするには、どのような手順が必要ですか?


_______________________
[                     ]
[ Windows 10          ]
[ ___________________ ]            ____________________
[ [                  ]]            [                   ]
[ [ Ubuntu VM (guest) <----HOW?---- SUSE remote server ]
[ [__________________]]            [___________________]
[_____________________]

ロングバージョン

私が混乱しているのは、AFAIKがUbuntuゲストVMを使用せず、代わりに実際のUbuntuマシンを使用していcat /etc/hostsた場合、ローカルのIPアドレスを検索し、その後リモートからIPアドレスを見つけるだけだったためです。

user@remote --ssh--> user@<local IP>

UbuntuゲストからSUSEリモートサーバーにSSHで接続できるように、SSHキーをすでに設定しています(つまり、ゲスト~/.ssh/id_rsa.pubはすでにリモートに保存されています~/.ssh/authorized_keys)。つまり、私はすでにできます:

ssh -Y user@remote

問題なく、しかし、私は自分のゲストのIPアドレスが何であるかわからないからといって、逆にそれを行うことはできません。またssh、Ubuntu GUIの「接続情報」にあるIPアドレスを使って-を試しました。

また明確にするために:

  • ゲストVMはUbuntu 12.04 LTS(64ビット)

  • VirtualBox設定のほとんど:デフォルト

  • ネットワークアダプターの有効化:NAT(ケーブル接続、ポート転送なし)

私はsshサーバーをセットアップしていませんが、それが必要かどうかはわかりません(?)、これはこれまでのところ私の理解です。

したがって、Windows 10ホストからUbuntuゲストVirtualBox VMを実行している場合ssh、リモートLinuxサーバーからUbuntuゲストVMにアクセスするには、どのような手順を踏む必要がありますか?

回答:


14

これは、ルーターの背後にいる場合、通常「ダブル​​NAT」状況と呼ばれます。ボーダールーターからWindowsシステムに転送してから、VBoxでVMに転送する必要があります。また、実際のネットワーク接続からVBox NATアダプターにポート22を転送する必要があるかもしれませんが、Windowsの場合はそれほど明確ではありません。

ただし、最終的にここで行う必要があるのは、最大で3つのことです。それらはすべてWindowsにあるか、Ubuntu Linuxにないので、ほとんどの答えはスーパーユーザーまたは他の場所にあります。

  1. (Win10がオンになっているネットワーク上のルーターの背後にいる場合)ポート22をWindows 10システムに転送するように、ネットワーク上のルーターにポート転送を設定します。

  2. ポート22で受信接続を許可するようにWindowsファイアウォールを設定します。 また、ポート22を受信ネットワークアダプターからVMネットワーク設定のNATネットワークに転送するように指定する必要がある場合もあります。

  3. VirtualBoxのNATネットワークでNAT転送ルールを設定して、ホストのポート22をVMのポート22に転送します

ここで、ステップ2とステップ3をバイパスするもう少し優れたアプローチは、VMネットワーク設定でブリッジモードを使用することです。これにより、Windows 10システムが接続されているのと同じネットワークからIPが取得され、ネットワークからVM自体に割り当てられたIPにエッジルーターのポートフォワードポート22(ステップ#1)をポートできます。これは、ポート22を機能させるために複数のホップと構成を行う必要がある場合よりも少し簡単です。

注:一部のISPはポート22をフィルタリングするため、ポート22トラフィックはシステムに到達しません。その場合は、代わりにポート22よりも高いポート(2022または別の非標準ポート> 1024など)を設定する必要があります。


ゲストのIPの検索に関しては、その情報はLinuxゲストの出力ifconfig -aまたはip -4 addr listLinuxゲストに含まれます。これは、ブリッジドまたはNATと同じであるため、これらすべての中で最も簡単な部分です。


私はこの感謝を調査しますが、あなたがどのようにすばやく回答したかは本当にわかりません...調査後にこのコメントを削除します
hello_there_andy

1
@hello_there_andy私はラップトップで多くの仮想化を行います。NATセットアップのLinuxベースのLXC / LXDコンテナー、またはVMwareを介して、NATと同様の弊害があります(基本的に、私はこの一連の問題に慣れています)。プロセスはLinuxとWindowsで似ていますが、手順の点で完全に異なりますが、私の場合、VMの外部は必要ありません。これらのVMについては、VMの実行専用のマシンである専用のESXiハイパーバイザーにそれらを配置し、既存のイーサネットセットアップに直接ブリッジします(NATはありません)。もちろん、これは非定型の設定です。
トーマスウォード

1
@hello_there_andyは、ゲストもopenssh-serverそれにインストールされていることを確認してください-SSH を受け入れることができます。それ以外では、残りはWindowsのネットワーク/ファイアウォール/構成に関するものです。(したがって、スーパーユーザーであり、Ask Ubuntuではありません)
Thomas Ward

3

あなたは、設定する必要がありますport forwardingWindows 10 VM player

あなたは前方になりますのWindows 10マシン上の外部ポートを設定する必要がありますservice portvirtual machineの中でNAT network

このリンクはそれを行う方法を説明しています


1
これは理論的には質問の答えになるかもしれませんが、リンクのみの答えは一般的に嫌われます。リンクされた投稿の関連情報を含めることをお勧めします。そのような投稿が将来のある時点でなくなる場合に備えてください。
トーマスウォード

コメント、および回答の詳細を提供していただきありがとうございます。
Yaron、2017
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.