仮想マシンに Ubuntu Server 15.05 をインストールした Windows 8.1 ホストがあります。ゲスト (Ubuntu) に SSH サーバーを設定し、ホスト ポート 2222 からゲスト ポート 22 への転送ルールを作成します。
を使用してホストから ssh を試みると、ssh -p 2222 username@localhost
問題なく VM に接続できます。
同じローカルネットワーク内のリモートマシン(OS Xのもの)から接続しようとすると、ほとんどの場合、タイムアウトエラーが発生します。実際に接続を確立できたとしても、しばらくするとエラーが表示されるまでフリーズします。ssh -p 2222 [email protected]
書き込み失敗: パイプが壊れています。
ウイルス対策ソフト (Bitdefender) のファイアウォールを無効にし、Windows ファイアウォールでポート 22 と 2222 からのトラフィックを許可するルールを作成しました。両方のファイアウォールを無効にした後も、問題は解決しません (実際、Bitdefender のファイアウォールは常に無効になっています)。
UseDNS no
ゲストのファイルにも設定しましたsshd_config
。ゲスト (ubuntu) にはファイアウォールがインストールされていません。
この問題は、vmware workstation 11 と VirtuaBox の両方で発生するようです。
答え1
問題は、Windows 8.1 マシンの外部から VM ネットワークにアクセスできないことのようです。localhost:2222 に ssh すると機能することがわかり、これはネットワーク構成 (おそらくデフォルトの NAT として構成されている) が原因である可能性があります。
VirtualBoxを使用する場合は、VMのネットワークをブリッジするように設定すればうまくいくはずです。詳細については、https://superuser.com/questions/810097/vmware-player-bridged-networking-no-longer-works-host-win8-1-guest-mint-17-l
答え2
WMware Workstation 12.5.9 を搭載した Windows 7 ホストで同様の問題が発生しました。本当に役立った唯一の解決策は次のとおりです。 https://communities.vmware.com/thread/590825
代替のQoSフラグを設定すると、この問題を回避できるようです。例:ssh -o IPQoS=throughput ...