Ik heb een VM van Ubuntu server opgezet, OpenSSH geïnstalleerd, en probeer er nu verbinding mee te maken met behulp van Putty. Binnen Putty, onder "Host name", zet ik "Ubuntu", aangezien dit is hoe ik dacht dat het heette toen ik de VM opzette. Echter, ik krijg alleen de foutmelding: "Connection Timed Out".
Ik heb ook geprobeerd om "127.0.0.1" in de host naam te zetten in Putty en ik krijg alleen "Connection Refused". Merk op dat ik de port forwarding voor SSH en HTTP binnen Oracle VM heb gedaan, dus ik weet niet hoe ik het aan de praat kan krijgen.
VirtualBox zal een privénetwerk (10.0.2.x) aanmaken dat verbonden zal zijn met uw hostnetwerk met behulp van NAT. (Tenzij anders geconfigureerd.)
Dit betekent dat u geen directe toegang kunt krijgen tot een host van het privé netwerk vanaf het host netwerk. Om dit te doen, heb je port forwarding nodig. In de netwerkvoorkeuren van uw VM kunt u bijvoorbeeld VirtualBox configureren om poort 22 te openen op 127.0.1.1 (een loopback adres van uw host) en alle verkeer door te sturen naar poort 22 van 10.0.2.1 (het interne adres van uw VM)
Op deze manier kunt u putty richten op poort 22 van 127.0.1.1 en VirtualBox zal deze verbinding doorsturen naar uw VM waar zijn ssh daemon deze zal beantwoorden, zodat u kunt inloggen.
Ik wilde putty gebruiken om verbinding te maken met mijn ubuntu op virtual box (comfort redenen, de VB is gewoon raar. Ik kan niet werken tenzij het op een fatsoenlijke terminal is). Hoe dan ook,
sudo apt install ssh
.Instellingen
->
Netwerk
->
op Adapter 1
kies Host-only adapter
->klik OK
.ifconfig
; het inet adres is nu uw IP.Het enige nadeel van het gebruik van host-only adapter is dat je gast OS geen toegang heeft tot het bredere netwerk (b.v. het Internet).
Als je wilt dat je VM ook internettoegang heeft, laat dan Adapter 1 als NAT staan en schakel Adapter 2 in, geconfigureerd als een host-only adapter. Hierdoor kan uw VM verbinding maken met het internet via NAT en ook een lokale verbinding maken met uw host via Host-Only.
Eerst moet je beslissen of je VM verbonden is met je host machine via een bridge verbinding of via een NAT, maar in beide gevallen moet je het VM IP adres in putty zetten om verbinding te kunnen maken met ip, in de VM terminal voer je dit commando uit om je het machine IP adres te laten zien (en nee 127.0.0.1 is niet het IP adres van de machine)
VM # ip addr show
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWN
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
link/ether 52:54:00:d9:16:b3 brd ff:ff:ff:ff:ff:ff
inet 10.0.2.15/24 brd 10.0.2.1 scope global eth0
valid_lft forever preferred_lft forever
in dit geval zal mijn IP adres 10.0.2.15 zijn,
Probeer er eerst voor te zorgen dat je op een basisniveau kunt communiceren met VM, open een terminalvenster op je host, en probeer de VM te pingen
HOST # ping 10.0.2.15
PING 10.0.2.15 (10.0.2.15) 56(84) bytes of data.
64 bytes from 10.0.2.15: icmp_seq=1 ttl=64 time=0.045 ms
64 bytes from 10.0.2.15: icmp_seq=2 ttl=64 time=0.110 ms
64 bytes from 10.0.2.15: icmp_seq=3 ttl=64 time=0.099 ms
Als je ant resultaat krijgt, zorg er dan voor dat je een ssh service hebt draaien op de VM, in de terminal op je VM type je als root,
VM # netstat -lnpt | grep 22
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 2361/sshd
Dit zegt dat we een service/proces hebben met PID(2361) genaamd sshd (OpenSSH daemon) luisterend naar poort 22.
U kunt testen of de service correct werkt door te proberen er naar te ssh'en vanuit de VM zelf,
VM # ssh 127.0.0.1
Vervolgens moet je ervoor zorgen dat je poort 22 niet blokkeert in je firewall/iptables, ik kan het niet geloven, maar controleer het toch maar. In de VM typ je dit commando om je iptables te laten zien,
VM # iptables -nvL INPUT
In de uitvoer zou je een lijn als deze moeten hebben:
0 0 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:22 ctstate NEW