VMWare konuk VM'ime SSH yapabilmem için nasıl ayarlayabilirim?


16

Bazı nedenlerden dolayı, internette bu süreçle ilgili belgeler oldukça eksik veya güncel değil. Temel olarak, VMWare Fusion'da konuk bir VMWare sanal makinem var (Ubuntu 10.10 çalıştıran) ve ana bilgisayar olarak Mac OSX 10.6 var. Mac'ten Linux VM'ye SSH yapabilmek istiyorum. Bu mümkün olacak şekilde işleri nasıl yapılandırabilirim?


İlgili: superuser.com/questions/729712/… En azından Windows'da VMWare tarafından otomatik olarak ayarlanan bir IP'ye geçebilirsiniz.
Ben

Yanıtlar:


13

kesinlikle - bu sadece yerel veya köprülü bir arayüz kullanma ve ssh sunucusunu çalıştıran sistemin ip adresini (ifconfig komutunu kullanarak) kullanma meselesidir. VM'ye openssh-server kurun, ssh istemcinizi kullanın ve bitti.

Bir NAT arayüzü kullanıyorsanız, daha karmaşık olabilir ve genellikle önerilmez.


1
Bilmeyenler için, ssh sunucusunu kullanarak başlatmayı service sshd startveya önyükleme çalıştırmasında başlatmak istiyorsanız unutmayınchkconfig sshd on
Anthony Hatzopoulos

21

Aslında, NAT'ı köprülü arayüzden ziyade VM'lerinizle kullanmak için bir sürü iyi neden var. her zaman, bu yüzden eklemeye değer düşündüm)

NAT kullanmak için sadece birkaç neden:

  • Kolay ve taşınabilir
  • IP almak için bilinen bir MAC adresi gerektiren bir müşteri LAN'ındaysanız (aksi takdirde kullanılmayanları tahmin etmeyi ve bir çatışmayı riske atmayı dener ve genellikle kendinize kötü dikkat çekersiniz :)),
  • VM'lerinizin ana makinenizde tek bir proxy sunucusu kullanmasına izin verme (bulunduğunuz ağı kontrol etmezseniz IE) veya çıkışta (pencere vb.) trafiğini tek seferde güvenlik duvarına / filtreleyebilme Kullanışlı bölge.
  • ana bilgisayar dışından ad / IP ile başvurabilmeniz için onlara sabit veya ayrılmış bir IP atayabilirsiniz (yine, köprülü bir arayüzle ağda rezervasyon alamazsanız)
  • ancak en önemlisi, ana makinenizdeki tek bir güvenlik duvarı yapılandırmasının arkasına gizlenmenize ve her sanal makineyi "vahşi" duruma maruz bırakmaktan ve hepsini tek tek korumak zorunda kalmak yerine, aralarınızdaki şeyleri daha korumalı bir şekilde paylaşmanıza olanak tanır. .. Tıpkı internet modem / yönlendirici ile yaptığınız gibi

Her neyse, benim durumum (VMWare Workstation 10, Linux host, OS X Guest) ve bunun üzerine tökezleyen herkes için, bu benim için neyin işe yaradığına genel bakış. Waffling ve what-ifs dışında, gerçekten sadece 3 ana adım vardır.

  • Bu nedenle, öncelikle ana makinenizin "dışından" VM / misafirinize neye izin vermek istediğinize karar vermeniz gerekir (aşağıdaki gibi not edin, ana makinenin kendisinden kolayca alabilirsiniz). Güvenli bir bahis, yalnızca alt ağınızdaki makinelere yalnızca SSH'yi (bağlantı noktası 22) göstermek / izin vermek olacaktır. VM, vb. Üzerinde bir web sunucunuz varsa 80/443 numaralı bağlantı noktasına da izin verebilirsiniz ve ayrıca SSH kullanarak diğer hizmetlere erişmek için bir "tünel" kullanabilirsiniz (aşağıdaki örneği verecektir) ve sunucunuza vermek için FUSE / SSHFS kullanabilirsiniz dosya sistemi erişimi .. (Veya VMWare üzerinde paylaşılan klasör tesisi, ama henüz kullanmadım).

Fikir şu şekildedir: "Sunucumun yerel ağındaki (ör. 10.1.1.0/24 veya 192.168.1.0/24) şeylerin ana bilgisayardaki 22222 bağlantı noktasına bağlanmasına izin verin; belirli bir misafir ". Elbette belirli bir konuk olmalı (Bu, IP'lerinizi daha kullanışlı bir şekilde yapılandırabilmenizi sağlar ve her VM'yi açmadan hepsini tek bir yerde değiştirebilirsiniz), tıpkı oyun oyunlarına izin vermek için internet yönlendiricinizden yapmak gibi aracılığıyla.

  • Sonra, hangi hizmetlere karar verdikten sonra,

    • ana makinenizde iptables / güvenlik duvarı üzerinden "harici" bağlantı noktasına bağlantılara izin verin. Port 22 muhtemelen sshd tarafından ana bilgisayarda kullanılacaktır, bu nedenle 22222 gibi bir şey kullanabilirsiniz. Bu durumda, /etc/ufw/before.rules'e (ve ufw'yi yeniden başlatın) böyle bir şey ekleyin.

      # Yerel ağ / alt ağ maskeniz 10.1.1.0/24 gibi bir şey olabilir ...

      -Bir girişten önce ufw -p tcp --port 22222 -m durumu --stat NEW -s my_subnet_and_mask -j KABUL ET

    • / etc / vmware / dizininin altına böyle bir şey ekleyerek VM'lerinize ana VMware DHCP yapılandırmasında ayrılmış bir IP verin ( isteğe bağlı, ancak ana bilgisayardan "iğne deliği" yapmak istiyorsanız güvenmesi daha kolay ). 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; 
      }
      
    • VMWare'e 22222'den misafir: 22'ye bağlantıları /etc/vmware/vmnet8/nat/nat.conf dosyasının [incomingtcp] bölümüne ekleyerek iletmesini söyleyin, ardından vmware hizmet (ler) ini yeniden başlatın (aşağıdaki nota bakın)

      [İncomingtcp]

      22222 = 192.168.198.10:22

    • Ayrıca liman 22 bağlantılara izin gerekebilir içinde bir güvenlik duvarı olup olmadığını ne olduğunu bağlı olarak konuk / o kendi arasında. Bu OS X konuk durumunda, Paylaşım ayarları aracılığıyla "uzaktan oturum açmayı" etkinleştirmekti, linux üzerinde yukarıdaki ana bilgisayarda olduğu gibi ufw aracılığıyla olabilir.

Böylece, her şey bittiğinde, dizüstü bilgisayarınızda veya LAN üzerindeki diğer makinelerde, 22222'de iş istasyonunuza (vmware host) ssh olabilirsiniz ve size iletmenizi söylediğiniz konuğa sincaplanırsınız. Yukarıda belirtildiği gibi, konuktaki postgres sunucusuna (veya genellikle şifrelenmemiş olan vnc sunucusuna) bağlanmak istediğinizi de söylüyorsanız, aynı komutta tünel oluşturabilirsiniz (dhcp conf'e de eklemek yerine). Örneğin;

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

ve vmware'de ip ileri yoluyla konuklara gönderilirsiniz ve pgadmin3 aracınızı dizüstü bilgisayarınızda localhost: 54320'ye (ayrıcalıklı olmayan) yönlendirebilir ve ağdaki trafiğiniz şifrelenir. ('Localhost' un zaten konuğa yönlendirildiğine dikkat edin)

notlar

  • Bunu yapmak için her türlü yol vardır .. Birincisi, sadece -L konuk ip IP barındırmak ve belirtmek için tünel olabilir ve o "kırmak" ve orada işaret, ama nat.conf seçeneği güzel ve ve her seferinde yazmak zorunda değilsiniz. Bağlantı noktası iletmenin başka yolları da vardır
  • Bunu yapmak için bir sanal ağ GUI iş parçacığı birkaç (sanal kutu gibi) referans görmüştü, ama bu sürümde bulamadım
  • Pencereleri kullanmıyorum, bu yüzden bir ana bilgisayar olarak yapılandırmaya çok benzer olacağını varsayarsam, emin değilim. NAT yapılandırmaları herhangi bir vmware konuk için olsa da çalışmalıdır (VMWare'in başka sürümlerini kullanmamış olmama rağmen)
  • VMware, ana bilgisayarın doğrudan NAT misafiriyle, ana makinenin konsolundan IE ile iletişim kurabilmesi için bir rota kurar, doğrudan NAT konuk 192.168.198.10 (yukarıda tanımlanmıştır) ping / ssh vb.

    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
    
  • Bir linux notundan, otomatik olarak başlamak için systemd init ile vmware ile biraz uğraşmak var ve bununla birlikte vmware'i yeniden başlatamıyorum (vmci tekrar yüklenmiyor) ve yeniden başlatmam gerekiyor Makinemizin üzerindeki NAT / DHCP malzemelerini sopa yapmak için kullanıyorum, ancak sorun olmayabilir. Yine de systemd çözümlerine sahip bazı konular var

Kulağa hoş geliyor, ancak ufw OS X 10.9.5 makinemde görünmüyor. Eski bir OS X'in sahip olduğu bir şey mi, şimdi de başka bir şey kullanıyor mu?
Steve Jorgensen

Hey @SteveJorgensen, ufw linux altında (Ev sahibim linux ve konuk bu cevapta OS X idi), ancak ev sahibi olarak OS X ile aynı fikir; uygun olan herhangi bir araçla ana bilgisayarda belirli bir bağlantı noktasına (yukarıdaki durumda 22222) erişime izin verin ve VMWare'e konuklara iletmeyi yapmasını söyleyin. UFW diğer söz sen (22 yukarıdaki durumunda) konuk giriş ve yönlendirmekten edildi portuna erişime izin gerekebilir böylece, aynı zamanda, bir güvenlik duvarı etkin olabilir konuk olarak ne olursa olsun olmasıydı
herdingofthecats

Şu anda OS X mevcut değil, ancak ipfwbir noktada kullanmayı hatırlıyorum . Sana hızlı bir arama vardı ve birçok yararlı Mesajları görmedik, ama bu bahseder pfctlbaşka sonrası OS X 10.10 up pfctl için yedek olarak görünüyor gördüğünüz, hangi. Üzgünüm test edemiyorum, ama umarım biraz yardımcı olur
herdingofthecats 12:16

2

İşleri basitleştirmek için:

  1. VM'nizi çalıştırın
  2. Menüden> Sanal Makine> Ağ Adaptörü> Köprülü.
  3. VM'nizde, linux: gibi IP adresinizi bulun ifconfig.
  4. Ana bilgisayardan, ssh kullanarak ssh user@ip.

Yüklü ve çalışan bir SSH hizmetiniz olduğunu varsayıyorum.


1

SSH'ye IP'yi bilmek yerine, Linux konuklarımda Avahi'yi dinamik bir ana bilgisayar adı yayınlayacak şekilde ayarladım, cevabımı buradan kontrol edin: /superuser//a/710233/242604

Bu yardımcı olur umarım!


-1

İnternete bağlanmaya ve kolay SSH bağlantısına yardımcı olan bir köprü ağı arayüzü kullanabilirsiniz.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.