何らかの理由で、インターネット上でのこのプロセスに関するドキュメントは非常に不足しているか、古くなっています。基本的に、VMWare Fusion(Ubuntu 10.10を実行)にゲストVMWare仮想マシンがあり、ホストとしてMac OSX 10.6があります。 MacからLinux VMにSSH接続できるようにしたい。これを可能にするにはどうすればよいですか?
絶対に-それは、ローカルインターフェースまたはブリッジインターフェースを使用し、sshサーバーを実行しているシステムのIPアドレスを(ifconfigコマンドを使用して)計算するだけの問題です。 VMにopenssh-serverをインストールし、sshクライアントを使用します。
NATインターフェースを使用している場合、より複雑になる可能性があり、一般的には推奨されません。
実際、ブリッジインターフェースではなく、VMでNATを使用するのには十分な理由がたくさんあります。(これは古い質問ですが、方法を検索する最初の結果として出てきました。これを行い、VirtualBoxから移行します。いつも行っているので、追加する価値があると思いました)
NATを使用する理由はいくつかあります:
とにかく、私の場合(VMWareワークステーション10、Linuxホスト、OS Xゲスト)、およびこれに遭遇した人にとって、これは私にとって何が効果的だったかの概要です。ワッフルとwhat-ifを除いて、主なステップは3つだけです。
したがって、アイデアは次のようになります。「ホストのローカルネットワーク(例:10.1.1.0/24または192.168.1.0/24)でホストのポート22222に接続することを許可します。これをポート22に転送します。特定のゲスト」。もちろん、特定のゲストである必要があります(これにより、IPをより便利に構成できるようになり、各VMを開かなくても、すべてを1か所で変更できるようになりました)。などを介して.
次に、どのサービスを決定したら、次のことを行う必要があります。
ホストマシンでiptables/firewallを介して「外部」ポートへの接続を許可します。ポート22はsshdによってホストですでに使用されている可能性があるため、22222のようなものを使用する可能性があります。この場合、/ etc/ufw/before.rulesにこのようなものを追加します(そしてufwを再起動します)。
#ローカルネットワーク/サブネットマスクは10.1.1.0/24 ...のようになります。
-A ufw-before-input -p tcp --dport 22222 -m state --state NEW -s my_subnet_and_mask -j ACCEPT `
メインのVMware DHCP構成でVMに予約済みIPを指定します(オプションですが、ホストからそれに「ピンホール」を設定したい場合は、簡単に信頼できます)。 /etc/vmware/vmnet8/dhcpd/dhcpd.confの下部
# Just like a normal dhcpd reservation
Host my_vm_1 {
hardware ethernet *your_vm_eth_mac_here**;
# This is in default range for guests, but outside the 'pool'.
# - check that it matches your vmware config
fixed-address 192.168.198.10;
# And/or your own internal nameserver etc
option domain-name-servers 8.8.8.8;
option domain-name "some_domain_suffix";
# This is the default default-route of the VM
option routers 192.168.198.2;
}
これを/etc/vmware/vmnet8/nat/nat.confの[incomingtcp]セクションに追加して、接続を22222からguest:22に転送するようにVMWareに指示し、次にvmwareサービスを再起動します(以下の注を参照)
[incomingtcp]
22222 = 192.168.198.10:22
また、ポート22の接続を許可する必要がある場合がありますinゲストのファイアウォールによって異なります。このOS Xゲストの場合、共有設定を介して「リモートログイン」を有効にすることでした。Linuxでは、上記のホストのようにufwを介する場合があります。
したがって、すべて完了したら、ラップトップまたはLAN上の他のマシンで22222のワークステーション(vmware Host)にSSH接続すると、転送するように指示したゲストにすすりつけられます。上記のように、ゲスト(または暗号化されていないことが多いvncサーバー)のpostgresサーバーにも接続できるようにしたい場合は、(dhcp confにも追加するのではなく)同じコマンドでトンネルできます。例えば
console ~> ssh root@hostip -p 22222 -L 54320:localhost:5432
また、vmwareのip forwardを介してゲストにsshされ、ラップトップでpgadmin3ツールをlocalhost:54320(非特権)にポイントすると、ネットワーク上のトラフィックが暗号化されます。 ( 'localhost'は既にゲストに転送されていることに注意してください)
ノート
VMwareは、ホストがNATゲストに直接連絡できるようにルートを設定します。IEホストのコンソールから、ping/sshなどを実行できますNAT guest 192.168.198.10(上記で定義))直接
console ~> route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
<snip>
192.168.198.0 0.0.0.0 255.255.255.0 U 0 0 0 vmnet8
192.168.233.0 0.0.0.0 255.255.255.0 U 0 0 0 vmnet1
物事を簡素化するには:
ifconfig
などのIPアドレスを見つけます。ssh user@ip
を使用してSSHします。SSHサービスがインストールされ、実行されていることを前提としています。
SSHで接続するIPを知る代わりに、動的ゲスト名をブロードキャストするようにLinuxゲストでAvahiをセットアップしました。ここで私の答えを確認してください: https://superuser.com/a/710233/242604 =
お役に立てれば!