Ich habe eine VM des Ubuntu-Servers eingerichtet, OpenSSH installiert und versuche nun, mit Putty eine Verbindung herzustellen. In Putty gebe ich unter "Hostname" "Ubuntu" ein, da ich dachte, dass er so heißt, als ich die VM einrichtete. Ich erhalte jedoch nur die Fehlermeldung: "Connection Timed Out".
Ich habe auch versucht, "127.0.0.1" in den Hostnamen in Putty einzugeben und erhalte nur "Connection Refused". Beachten Sie, dass ich die Portweiterleitung für SSH und HTTP innerhalb von Oracle VM vorgenommen habe, daher weiß ich nicht, wie ich es zum Laufen bringen kann.
VirtualBox erstellt ein privates Netzwerk (10.0.2.x), das über NAT mit Ihrem Host-Netzwerk verbunden wird. (Sofern nicht anders konfiguriert.)
Das bedeutet, dass Sie vom Host-Netzwerk aus nicht direkt auf einen Host des privaten Netzwerks zugreifen können. Dazu benötigen Sie eine Portweiterleitung. In den Netzwerkeinstellungen Ihrer VM können Sie VirtualBox beispielsweise so konfigurieren, dass Port 22 auf 127.0.1.1 (eine Loopback-Adresse Ihres Hosts) geöffnet wird und jeglicher Datenverkehr an Port 22 von 10.0.2.1 (die interne Adresse Ihrer VM) weitergeleitet wird
Auf diese Weise können Sie putty auf Port 22 von 127.0.1.1 richten, und VirtualBox wird diese Verbindung zu Ihrer VM umleiten, wo ihr ssh-Daemon darauf antwortet, so dass Sie sich anmelden können.
Ich wollte Putty verwenden, um eine Verbindung zu meinem Ubuntu auf virtuellen Box (Komfort Gründe, die VB ist einfach seltsam. Ich kann nicht arbeiten, es sei denn, es ist auf einem richtigen Terminal). Wie auch immer,
sudo apt install ssh
.Einstellungen
->
Netzwerk`->
auf Adapter 1
wählen Sie Host-only adapter
->klicken Sie OK
.ifconfig
aus; jetzt ist die Inet-Adresse Ihre IP.Der einzige Nachteil der Verwendung eines reinen Host-Adapters ist, dass Ihr Gastbetriebssystem keinen Zugang zu einem größeren Netzwerk (z.B. dem Internet) hat.
Wenn Sie für Ihre VM ebenfalls einen Internetzugang benötigen, belassen Sie Adapter 1 als NAT und aktivieren Sie Adapter 2, der als Host-Only-Adapter konfiguriert ist. Dadurch kann Ihre VM sowohl über NAT eine Verbindung zum Internet herstellen als auch über Host-Only eine lokale Verbindung zu Ihrem Host aufbauen.
Zunächst müssen Sie entscheiden, ob Ihre VM mit Ihrem Host-Computer über eine Bridge-Verbindung oder über ein NAT verbunden ist, aber so oder so müssen Sie die VM-IP-Adresse in putty setzen, um in der Lage zu sein, eine Verbindung zu ip, in der VM-Terminal führen Sie diesen Befehl, um Ihnen die Maschine IP-Adresse zeigen (und nein 127.0.0.1 ist nicht die IP-Adresse des Rechners)
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 diesem Fall lautet meine IP-Adresse 10.0.2.15,
Versuchen Sie zunächst sicherzustellen, dass Sie auf einer grundlegenden Ebene mit der VM kommunizieren können, öffnen Sie ein Terminalfenster auf Ihrem Host und versuchen Sie, die VM anzupingen
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
Wenn Sie ein Ameisenergebnis erhalten, vergewissern Sie sich, dass ein ssh-Dienst auf der VM läuft, und geben Sie im Terminal auf Ihrer VM als root ein,
VM # netstat -lnpt | grep 22
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 2361/sshd
Dies zeigt, dass wir einen Dienst/Prozess mit der PID(2361) namens sshd (OpenSSH-Daemon) haben, der auf Port 22 hört.
Sie können testen, ob der Dienst korrekt funktioniert, indem Sie versuchen, sich von der VM selbst aus mit ssh anzumelden,
VM # ssh 127.0.0.1
Als nächstes müssen Sie sicherstellen, dass der Port 22 in Ihrer Firewall/iptables nicht blockiert ist. Geben Sie in der VM diesen Befehl ein, um die iptables anzuzeigen,
VM # iptables -nvL INPUT
In der Ausgabe sollten Sie eine Zeile wie diese sehen:
0 0 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:22 ctstate NEW