VMWareゲストVMにSSH接続できるように設定するにはどうすればよいですか?


16

なんらかの理由で、インターネット上のこのプロセスに関するドキュメントが非常に不足しているか古くなっています。基本的に、VMWare Fusion(Ubuntu 10.10を実行)にゲストVMWare仮想マシンがあり、ホストとしてMac OSX 10.6があります。MacからLinux VMにSSHできるようにしたい。これを可能にするためにどのように構成できますか?


関連:superuser.com/questions/729712/… 少なくともWindowsでは、VMWareによって自動的に設定されたIPにsshするだけです。
ベン

回答:


13

絶対に-ローカルのみ、またはブリッジドインターフェイスを使用し、sshサーバーを実行しているシステムのIPアドレスを計算するだけです(ifconfigコマンドを使用)。VMにopenssh-serverをインストールし、sshクライアントを使用すれば完了です。

NATインターフェイスを使用している場合は、より複雑になる可能性があり、一般的に推奨されません。


1
知らない人のために、使用してSSHサーバを起動することを忘れないでくださいservice sshd startまたはブートアップ実行時にそれを開始したい場合はchkconfig sshd on
アンソニーHatzopoulos

21

実際、ブリッジされたインターフェイスではなく、VMでNATを使用する十分な理由がたくさんあります。常にそうなので、追加する価値があると思いました)

NATを使用する理由は次のとおりです。

  • 簡単でポータブル
  • IPを取得するために既知のMACアドレスを必要とする顧客LANにいる場合(そうでない場合は、未使用のIPアドレスを推測して競合の危険を冒す必要があります。
  • VMがホスト上の単一のプロキシサーバーを使用できるようにする(IEを使用しているネットワークを制御しない場合)、またはブロードキャスト(ウィンドウなど)トラフィックを1つにファイアウォール/フィルタリングできるようにする便利な場所。
  • 固定または予約済みのIPを割り当てることができるので、ホストの外部から名前/ IPでそれらを参照できます(これも、ブリッジドインターフェイスを使用してネットワークで予約を取得できない場合)
  • しかし何よりも、ホスト上の単一のファイアウォール設定の背後に隠れ、より保護された方法であなた/それらの間で物事を共有することができます。 ..インターネットモデム/ルーターで行うように

とにかく、私の場合(VMWare Workstation 10、Linuxホスト、OS Xゲスト)、およびこれにつまずく人にとっては、これが私にとってうまくいったことの概要です。ワッフルとwhat-ifsを除けば、実際には3つの主要なステップしかありません。

  • そのため、まずホストの「外部」からVM /ゲストに許可するものを決定する必要があります(以下のように、ホスト自体から簡単にアクセスできることに注意してください)。安全な方法は、SSH(ポート22)のみをサブネット上のマシンに公開/許可することです。VMなどにWebサーバーがある場合はポート80/443を許可することもできます。また、「トンネル」を使用してSSHを使用して他のサービスにアクセスし(以下の例を示します)、FUSE / SSHFSを使用してホストを提供することもできますファイルシステムへのアクセス..(またはVMWareの共有フォルダー機能ですが、まだ使用していません)。

そのため、アイデアは次のようになります。「ホストのローカルネットワーク(たとえば、10.1.1.0 / 24または192.168.1.0/24)上のものを許可して、ホストのポート22222に接続します。特定のゲスト」。もちろん、特定のゲストである必要があります(これにより、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 `

    • / etc / vmware /の下部にこのようなものを追加することにより、メインのVMware DHCP構成で予約済みのIPをVMに提供します(オプションですが、ホストから「ピンホール」したい場合は信頼しやすい) 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個の接続を許可する必要があるかもしれません、それは、ファイアウォールを持っている場合、それが何であるかに応じて、あなたのゲスト/それが所有しての。このOS Xゲストの場合、共有設定を介して「リモートログイン」を有効にすることでした。Linuxでは、上記のホストのようにufwを使用するなどです。

そのため、すべて完了したら、ラップトップまたはLAN上の他のマシンで22222にあるワークステーション(vmwareホスト)にsshして、転送するように指示したゲストに引き離されます。上記のように、ゲストのpostgresサーバー(または多くの場合暗号化されていないvncサーバー)に接続できるようにしたい場合、(dhcp confに追加する代わりに)同じコマンドでトンネルすることもできます。例えば

console ~> ssh root@hostip -p 22222 -L 54320:localhost:5432

そして、vmwareのip forwardを介してゲストにsshされて、pgadmin3ツールがラップトップのlocalhost:54320(非特権)を指すようにすると、ネットワーク上のトラフィックが暗号化されます。(「ゲスト」に既に転送されている「localhost」に注意してください)

ノート

  • これを行うには、あらゆる種類の方法があります。1つは、ホストにトンネルし、ゲストのIPを-Lで指定すると、「ブレークアウト」してそこを指すことができますが、nat.confオプションは素晴らしいです。便利で、毎回入力する必要はありません。ポート転送には他の方法もあります
  • これを行うには、仮想ネットワークGUIのスレッドのいくつかを参照していました(virtualboxのように)が、このバージョンでは見つかりませんでした
  • 私はウィンドウを使用しないので、ホストとして構成するのと非常に似ていると思いますが、よくわかりません。ただし、NAT構成はどのVMwareゲストでも機能するはずです(ただし、他のバージョンのVMWareは使用していません)
  • VMwareは、ホストがNATゲストに直接接続できるように、ホストのコンソールからIEに、NATゲスト192.168.198.10(上記で定義)に直接ping / sshできるようにルートを設定します

    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
    
  • Linuxのメモから、systemd initでvmwareをいじることでうまく自動起動することがあります。それに加えて、vmwareを再起動できない(vmciが再度読み込まれない)ので、再起動する必要があります。私のマシンは、NAT / DHCPを上記のスティックにするが、問題はないかもしれない。ただし、systemdソリューションにはいくつかのスレッドがあります

素晴らしく聞こえますが、OS X 10.9.5マシンにufwが存在しないようです。それは古いOS Xが持っていたものですが、今では代わりに別のものを使用していますか?
スティーブヨルゲンセン

@SteveJorgensenさん、ufwはlinuxの下にあります(私のホストはlinuxで、この回答ではゲストはOS Xでした)が、ホストとしてOS Xを使用するのと同じ考えです。適切なツールを使用して、ホスト上の特定のポート(上記の場合22222)へのアクセスを許可し、ゲストに転送するようにVMWareに指示します。UFWの他の言及は、ゲストにログインして、あなたは(22、上記の場合)にリダイレクトされたポートへのアクセスを許可する必要がある場合がありますので、それはあなたがゲストとして持っているものは何でも、それはまた、ファイアウォールが有効になっている可能性があるた
herdingofthecats

現時点ではOS Xを利用できませんがipfw、ある時点で使用したことを覚えているようです。私はあなたのために簡単に検索しましたが、多くの有用な投稿は見ませんでしたが、別の投稿で見たこの言及はpfctl、OS X 10.10以降のpfctlの置き換えのようです。申し訳ありませんがテストできませんが、少しでも役立つことを願っています
猫の放牧

2

物事を簡素化するには:

  1. VMを実行する
  2. メニューから> [仮想マシン]> [ネットワークアダプター]> [ブリッジ]。
  3. VMで、LinuxなどのIPアドレスを見つけます。 ifconfig
  4. ホストから、sshを使用してssh user@ip

SSHサービスがインストールされ、実行されていると想定しています。



-1

インターネットへの接続と簡単なSSH接続を支援するブリッジネットワークインターフェイスを使用できます。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.