SSH zu VirtualBox Mac Host Linux Guest mit NAT

So konfigurieren Sie den ssh OS X-Host mit einem Linux-Gast, damit ich über SSH auf mein Gastbetriebssystem zugreifen kann. Ich habe es versucht:

Virtualbox-Gast

Aber als ich versuchte, vom Host aus zu ssh, schlug es fehl:

> ssh localhost
ssh: connect to host localhost port 22: Connection refused

Ich habe versucht, die IP (Host 10.0.0.10, Gast 10.0.2.15) auf dem festzulegen port forwarding, es gibt die gleiche Ausgabe. Ich habe versucht, den Host an eine höhere Adresse (2222) zu binden, hatte aber kein Glück, der Host hört immer noch nicht auf den Port für die Portweiterleitung. Es funktioniert nicht wie diese Antwort: VirtualBox Host ssh to Guest

Ich konnte den Gast nicht einmal vom Host aus pingen:

PING 10.0.2.15 (10.0.2.15): 56 data bytes
Request timeout for icmp_seq 0
Request timeout for icmp_seq 1
Request timeout for icmp_seq 2
^C
--- 10.0.2.15 ping statistics ---
4 packets transmitted, 0 packets received, 100.0% packet loss

Aber ping funktioniert gut von Gast zu Host, ssh von Gast zu localhost ist auch ok, das PermitRootLoginist yes, das netstatErgebnis ist ok:

netstat-Gast

EDIT nach dem Umschalten in den Bridged-Modus funktioniert es einwandfrei.

Es ist unklar, was Sie erreichen wollen! Ihr erster Versuch leitet jedes host-vb:22 an guest:22 aus dem Netzwerk des Hosts weiter. Das bedeutet, dass Sie den Host nicht von anderen Hosts im Host-VB-Netzwerk erreichen können (wahrscheinlich 10.0.0.0/24). Ist das Ihr Ziel?
Ich möchte zu meinem Gastbetriebssystem ssh, ich habe es ohne Portweiterleitung versucht, es ist fehlgeschlagen, mit Portweiterleitung ist es auch fehlgeschlagen, aber wenn ich in den Bridged-Modus wechsle, funktioniert es einwandfrei.
Wenn Sie VirtualBox nicht als privilegierter Benutzer ausgeführt haben, sollte es Ihnen nicht erlauben, den Port 22 des Hosts zu verwenden. Sie sollten eine höhere Nummer verwenden, wie in dem von Ihnen verlinkten Beispiel.

Antworten (1)

Geben Sie nach dem Hinzufügen einer Portweiterleitungsregel (z. B. SSH TCP 10.0.0.10 2222 10.0.2.15 22) in der Terminal.app des Hosts Folgendes ein:

 ssh user_name@host-ip -p forwarded_port

Beispiel mit obiger Regel:

 ssh user_name@10.0.0.10 -p 2222

Verwenden Sie in der Regel keine identischen Ports (Port des Hosts ≠ Port des Gasts) wie in Ihrem Screenshot. user_name muss der Name eines für den Remotezugriff aktivierten Kontos auf dem Gastbetriebssystem sein.

Sie können sogar die IP-Adressen (10.0.0.10 und 10.0.2.15) in der Regel überspringen und entweder verwenden:

 ssh user_name@10.0.0.10 -p 2222

oder

 ssh user_name@127.0.0.1 -p 2222

oder auch

 ssh user_name@localhost -p 2222
Bitte ignorieren Sie die von mir anonym vorgenommene Bearbeitung, in der darauf hingewiesen wurde, dass man auch Folgendes verwenden kann:ssh user_name@localhost -p 2222