Z jakiegoś powodu dokumentacja tego procesu w Internecie jest dość nieaktualna lub nieaktualna. Zasadniczo mam maszynę wirtualną VMWare gościa w VMWare Fusion (z systemem Ubuntu 10.10), a jako host mam Mac OSX 10.6. Chcę mieć możliwość SSH z komputera Mac na maszynę wirtualną z systemem Linux. Jak mogę skonfigurować rzeczy, aby było to możliwe?
16
Odpowiedzi:
absolutnie - to tylko kwestia użycia lokalnego lub zmostkowanego interfejsu i wypracowania adresu IP systemu z uruchomionym serwerem ssh (za pomocą polecenia ifconfig). zainstaluj openssh-server na maszynie wirtualnej, użyj klienta ssh i gotowe.
Jeśli używasz interfejsu NAT, może to być bardziej skomplikowane i ogólnie nie jest zalecane.
źródło
service sshd start
lub jeśli chcesz go uruchomić podczas uruchamiania systemuchkconfig sshd on
W rzeczywistości istnieje cały szereg dobrych powodów, aby używać NAT na swoich maszynach wirtualnych zamiast mostkowanego interfejsu. (To stare pytanie, ale pojawiło się jako mój pierwszy wynik szukania, jak to zrobić, migrując z VirtualBox tam, gdzie ja to robię to cały czas, więc pomyślałem, że warto dodać)
Tylko kilka powodów, dla których warto korzystać z NAT:
Tak czy inaczej, w moim przypadku (VMWare Workstation 10, host Linux, OS X Guest) i każdy, kto się na to natknie, oto przegląd tego, co zadziałało dla mnie. Oprócz gofrowania i „co jeśli”, tak naprawdę są tylko 3 główne kroki.
Pomysł jest więc taki: „Pozwól, aby rzeczy w sieci lokalnej mojego hosta (np. 10.1.1.0/24 lub 192.168.1.0/24) łączyły się z portem 22222 na hoście, który przekażemy dalej do portu 22 określony gość ”. Oczywiście musi to być konkretny gość (dzięki temu możliwość skonfigurowania adresów IP jest tym bardziej przydatna, że można je zmienić w jednym miejscu bez otwierania każdej maszyny wirtualnej), podobnie jak w przypadku routera internetowego, aby umożliwić grę przez itp.
Następnie, decydując, które usługi, musisz
zezwalaj na połączenia na twoim hoście z portem „zewnętrznym” poprzez iptables / firewall. Port 22 prawdopodobnie będzie już używany na hoście przez sshd, więc możesz użyć czegoś takiego jak 22222. W takim przypadku dodaj coś takiego do /etc/ufw/before.rules (i zrestartuj ufw)
nadaj swoim maszynom wirtualnym zarezerwowany adres IP w głównej konfiguracji VMware DHCP ( opcjonalnie, ale łatwiej polegać, jeśli chcesz „otworkować” go z hosta ), dodając coś takiego na dole / etc / vmware / vmnet8 / dhcpd / dhcpd.conf
Powiedz VMWare, aby przekazywał połączenia z 22222 do gościa: 22, dodając to do sekcji [incomingtcp] /etc/vmware/vmnet8/nat/nat.conf, a następnie uruchom ponownie usługi vmware (patrz uwaga poniżej)
Może być również konieczne zezwolenie na połączenia portu 22 u gościa, w zależności od tego, co to jest / jeśli ma własną zaporę. W tym przypadku gościa OS X miało to umożliwić „zdalne logowanie” poprzez ustawienia udostępniania, w systemie Linux może to być za pośrednictwem ufw jak na hoście powyżej itp.
Więc kiedy to wszystko zrobisz, możesz być na swoim laptopie lub innym komputerze w sieci LAN, ssh na stacji roboczej (host vmware) 22222, a ty zostaniesz w towarzystwie gościa, któremu kazałeś go przekazać. Jak wspomniano powyżej, jeśli powiesz również, że chciałbyś móc połączyć się z serwerem postgres na gościu (lub z serwerem VNC, który często jest niezaszyfrowany), możesz tunelować to samo polecenie (zamiast dodawać go również do dhcp conf). Na przykład
i zostaniesz zalogowany do gościa przez ip ip w vmware, i możesz skierować swoje narzędzie pgadmin3 na localhost: 54320 (nieuprzywilejowany) na twoim laptopie, a twój ruch w sieci zostanie zaszyfrowany. (Uwaga „localhost” jest już przesłany do gościa)
Notatki
VMware ustawia trasę, aby host mógł kontaktować się bezpośrednio z gościem NAT, tj. Z konsoli hosta, mogę bezpośrednio pingować / ssh itp. Gość NAT 192.168.198.10 (zdefiniowany powyżej)
źródło
ipfw
w pewnym momencie pamiętam, że go używałem . Musiałem szybko wyszukać dla was, i nie zobaczyć wiele przydatnych wiadomości, ale to wspominapfctl
, co widzę w kolejny post wydaje się być zamiennikiem dla pfctl w OS X 10.10 up. Nie mogę przetestować tego przepraszam, ale mam nadzieję, że to trochę pomożeAby uprościć:
ifconfig
.ssh user@ip
.Zakładam, że masz zainstalowaną i uruchomioną usługę SSH.
źródło
Zamiast znać adres IP do SSH, skonfigurowałem Avahi na moich gościach z Linuksem, aby nadawał dynamiczną nazwę hosta, sprawdź moją odpowiedź tutaj: /superuser//a/710233/242604
Mam nadzieję że to pomoże!
źródło
Możesz użyć interfejsu sieciowego mostu, który pomaga w połączeniu z Internetem i łatwym połączeniu SSH.
źródło