Skonfigurowałem maszynę wirtualną serwera Ubuntu, zainstalowałem OpenSSH i teraz próbuję połączyć się z nim za pomocą Putty. W Putty, pod „Host name”, umieściłem „Ubuntu”, biorąc pod uwagę, że tak to się nazywało, kiedy konfigurowałem maszynę wirtualną. Jednak pojawia się tylko błąd: „Przekroczono limit czasu połączenia”.
Próbowałem także wpisać „127.0.0.1” w nazwie hosta w Putty i po prostu dostać „odmowa połączenia”. Pamiętaj, że wykonałem przekierowanie portów dla SSH i HTTP w Oracle VM, więc nie mam pojęcia, jak je uruchomić.
ubuntu
virtualbox
putty
wickywills
źródło
źródło
Odpowiedzi:
VirtualBox utworzy sieć prywatną (10.0.2.x), która zostanie podłączona do sieci hosta za pomocą NAT . (O ile nie skonfigurowano inaczej.)
Oznacza to, że nie można uzyskać bezpośredniego dostępu do żadnego hosta sieci prywatnej z sieci hosta. Aby to zrobić, potrzebujesz przekierowania portów. W preferencjach sieciowych swojej VM można na przykład skonfigurować VirtualBox, aby otworzyć port 22 na 127.0.1.1 (A sprzężenia zwrotnego adresu hosta) i przekazuje żadnego ruchu na porcie 22 10.0.2.1 (wewnętrzny adres swojej VM)
W ten sposób możesz wskazać putty na port 22 z 127.0.1.1, a VirtualBox przekieruje to połączenie na twoją maszynę wirtualną, gdzie demon ssh mu odpowie, pozwalając ci się zalogować.
źródło
ssh [email protected]
i jestem w. Potrzebny panel to Ustawienia-> Sieć-> Przekazywanie portów, a mój wygląda teraz tak, jak pokazano na: imgur.com/BjGh3N2ssh -p 2222 [email protected]
Chciałem użyć Kit, aby połączyć się z moim Ubuntu na wirtualnym pudełku (ze względów wygody, VB jest po prostu dziwne. Nie mogę pracować, dopóki nie jest na odpowiednim terminalu). Tak czy siak,
sudo apt install ssh
.Settings
->
Network
->
dniaAdapter 1
wyboruHost-only adapter
-> kliknijOK
.ifconfig
; teraz adres inet to twój adres IP.Jedyną wadą używania adaptera samego hosta jest to, że system operacyjny gościa nie będzie miał dostępu do szerszej sieci (np. Internetu).
Jeśli potrzebujesz również swojej maszyny wirtualnej, aby mieć dostęp do Internetu, pozostaw Adapter 1 jako NAT i włącz Adapter 2, skonfigurowany jako adapter Tylko host. Umożliwi to maszynie wirtualnej połączenie się z Internetem za pomocą NAT, a także nawiąże lokalne połączenie z hostem za pomocą hosta.
źródło
NAT
na,host only adapter
nie może już połączyć się z Internetem, jakieś rozwiązanie?Najpierw musisz zdecydować, czy maszyna wirtualna jest podłączona do komputera hosta za pośrednictwem połączenia mostkowego, czy NAT, ale w sposób eteryczny musisz umieścić adres IP maszyny wirtualnej w putty, aby móc połączyć się z ip, w uruchomieniu terminala maszyny wirtualnej to polecenie pokazuje adres IP urządzenia (a nr 127.0.0.1 nie jest adresem IP urządzenia)
w tym przypadku mój adres IP będzie do 10.0.2.15,
Najpierw upewnij się, że możesz komunikować się na poziomie podstawowym z maszyną wirtualną, otwórz okno terminala na hoście i spróbuj pingować maszynę wirtualną
Jeśli otrzymasz wynik ant, upewnij się, że masz usługę ssh uruchomioną na maszynie wirtualnej, w terminalu na maszynie wirtualnej jako root,
Mówi to, ponieważ mamy usługę / proces z PID (2361) o nazwie sshd (demon OpenSSH) nasłuchujący na porcie 22.
Możesz sprawdzić, czy usługa działa poprawnie, próbując ssh do niej z maszyny wirtualnej,
Następnie musisz upewnić się, że nie blokujesz portu 22 w swojej zaporze ogniowej / iptables, nie mogę w to uwierzyć, ale i tak sprawdź. W maszynie wirtualnej wpisz to polecenie, aby wyświetlić iptables,
na wyjściu powinieneś mieć taką linię:
źródło
connection timed out
ponownie dostałem błąd. Próbowałem takżenvL
polecenia, o którym wspomniałeś, i otrzymałemChain INPUT (policy accept......
chain FORWARD.....
iptables -A INPUT -p tcp --dport ssh -j ACCEPT
zezwoli na ruch przychodzący, jeśli nie widzisz tcp w iptables.Moja rozdzielczość była podobna do Roman T, jednak musiałem dodać kilka dodatkowych kroków. W moim przypadku miałem maszynę Wirtualną Ubuntu Server 14 działającą na pulpicie Windows 8 w domenie Windows 2008. Gdybym spróbował NAT lub Bridge, mógłbym uzyskać dostęp do Internetu, ale nie mogłem połączyć się przez SSH.
Gdybym spróbował adaptera hosta tylko wtedy pozwoliłbym na SSH do komputera, ale nie miałbym dostępu do Internetu.
Próbowałem też przekierowania portów i nie miałem radości. Otworzyłem Wireshark i po prostu nie znalazłem VM.
Więc moim rozwiązaniem było dodanie drugiej karty sieciowej.
metoda
Z wyłączoną maszyną wirtualną
Uruchom maszynę wirtualną
Aby zobaczyć kartę sieciową, musisz wpisać
Możesz zobaczyć, że karta sieciowa została dodana z adresem Mac, ale nie ma adresu IP?
Jeśli tak, musisz edytować / etc / network / interfaces, aby skonfigurować DHCP. Przykład poniżej z użyciem VI / VIM, ale możesz użyć dowolnego edytora
dodaj linie
Następnie spróbuj ponownie uruchomić usługę sieciową, używając poniższego polecenia
Po ponownym uruchomieniu wpisz poniżej, aby sprawdzić, czy eth1 ma przydzielony adres IP
źródło
Poniższe instrukcje działały z Ubuntu 14.04 i Oracle VirtualBox 4.3.30.
Zrób to w VirtualBox:
Kliknij maszynę wirtualną prawym przyciskiem myszy, wybierz „Ustawienia”, a następnie wybierz „Sieć”.
Obok „Attached to” wybierz „Adapter host-only”. Na marginesie, „Bridged Adapter” również będzie działał, sprawdź dokumentację VirtualBox, aby uzyskać więcej szczegółów na temat każdej opcji.
Zrób to w maszynie wirtualnej:
Znajdź adres IP swojej sieci, otwierając terminal i wpisując
ifconfig
. Obserwuj adres IP wyświetlany obok eth0, pod „inet addr”. Możesz również zobaczyć swój adres IP, klikając ikonę Sieć w prawym górnym rogu pulpitu, a następnie wybierając „Informacje o połączeniu”.Zainstaluj openssh-server, wpisując w terminalu:
Na wszelki wypadek uruchom ponownie maszynę wirtualną.
Teraz możesz połączyć się z PuTTY za pomocą adresu IP z kroku 1 powyżej i portu 22.
źródło
W przypadku Ubuntu 18.04 i VirtualBox 5.2:
Utwórz interfejs sieciowy hosta
ja. W Virtualbox kliknij
File
/Host Network Manager
.ii. Jeśli nie masz jeszcze karty sieciowej hosta (domyślnie
vboxnet0
), kliknijCreate
.Włącz ustawienia adaptera tylko hosta dla maszyny wirtualnej
ja. W Virtualbox kliknij prawym przyciskiem myszy maszynę wirtualną i wybierz
Settings
.ii. Kliknij
Network
i wybierzAdapter 2
.iii. Kliknij
Enable Network Adapter
.iv. Pod
Attached to:
wybierzHost-only Adapter
. Powinna pojawić się nazwa adaptera utworzonego w kroku 1 (domyślnievboxnet0
).Skonfiguruj ustawienia sieciowe na maszynie wirtualnej
ja. Zacznij swoją VM i sprawdzić, który interfejs dodano:
ip a
. Poszukaj interfejsu, który nie mainet
adresu. Tak było u mnieenp0s8
.ii. Edit
/etc/netplan/01-netcfg.yaml
. npsudo vi /etc/netplan/01-netcfg.yaml
.iii. W ustawieniach oryginalnego adaptera dodaj szczegóły konfiguracji:
To przypisuje statyczny adres IP dla maszyny wirtualnej dla wygody SSH. Jeśli
dhcp
zamiast tego chcesz obsłużyć adresowanie, pomiń konfigurację adresu i bramy i ustawdhcp4
nayes
.iv. Odśwież plik konfiguracyjny:
sudo netplan apply
.SSH na maszynę wirtualną
ja. Jeśli nie masz zainstalowanego
ssh
na maszynie wirtualnej:sudo apt install ssh
.ii. Z komputera hosta, SSH do VM:
ssh <username>@192.168.56.2
.źródło