ポート転送を設定し、ファイアウォールの例外を許可したので、Linux Mint ホストから Windows7/Cygwin ゲストに ssh 接続できます。
#from linux host
hostuser@host$ ssh -p 2222 guestuser@localhost
逆の場合も動作させるにはどうすればいいでしょうか?
#from cygwin guest (not working yet)
guestuser@guest$ ssh -p 2222 hostuser@localhost
答え1
Virtualbox には、ゲスト VM 用に選択できる複数のネットワーク モードがあります。選択したモードを指定していませんが、「NAT」(デフォルトであり、最も一般的) を選択した場合、ゲストからホストへの SSH は実行できません。ゲストからホストへのルートがないためです。
さらに、ゲストOSはそれがVMであることを認識していません。localhostguestuser@guest$ ssh -p 2222 hostuser@localhost
にsshで接続すると、ゲストOS、ポート 2222、ゲスト OS 上で実行されている sshd サービスに接続します。
ゲストOSがホストOSに接続できるようにしたい場合は、VB ネットワーク モードおそらく「ブリッジ」モードが望ましいでしょう。この場合、VM はホーム ネットワーク上の別の (物理) コンピュータとして機能します。DHCP 経由で IP アドレスを受け取ります。その後、ファイアウォール ルールやその他の「障壁」がない限り、一方から他方に SSH 接続できます。このモードではポート転送はありません。すべての SSH 接続は、デフォルトでポート 22 を介して行われます。
例
hostuser@host$ ssh [email protected]
guestuse@guest$ ssh [email protected]
ホスト IP=192.168.0.1、ゲスト IP=192.168.0.2 と仮定
意見: ゲストに特定のサービスを設定しない限り、ゲスト OS が質問されている方法でホストに接続できる必要はほとんどありません。わざわざ設定する必要はありません。