SSH in VirtualBox auf Mac

12

Ich habe gerade VirtualBox auf meinem Mac installiert und eine neue virtuelle Ubuntu-Maschine mit "Vorhandene virtuelle Festplattendatei verwenden" des Cloudera Hadoop-Disk-Images erstellt. Ich kann die virtuelle Maschine starten und ausführen, möchte jedoch lieber von meinem Terminal aus ssh. Im Folgenden wird die Meldung "Verbindung zum Host 127.0.0.1-Port 2222 herstellen: Verbindung abgelehnt" angezeigt:

ssh [email protected] -p 2222

Ich habe auch versucht -p 22

Ich habe auch versucht, "Cloudera" als Benutzer zu verwenden. Gibt es eine VirtualBox-Einstellung, die ich ändern muss, um SSH zuzulassen?

Ich habe auch gerade versucht, eine neue virtuelle Linux-Maschine zu erstellen, ohne das Cloudera-Image zu verwenden, und ich kann auch SSH verwenden.

jKraut
quelle
Was sagt das Feld "Angehängt an" in virtualbox aus, wenn Sie in "Einstellungen" und dann in "Netzwerk" klicken?
Mark Plotnick
@ MarkPlotnick Beigefügt zu: NAT
jKraut
Die Antworten auf diese Frage können helfen: Wie man eine Verbindung zu einem Virtualbox-Gast herstellt
Mark Plotnick
Vielleicht möchten Sie sich mit der Verwendung vagrantbefassen. Dies macht das Erstellen einer VM und das Ssh'ing sehr einfach
gary69

Antworten:

15

Ich habe einen Mac, auf dem ich VirtualBox installiert habe.

Das hat also bei mir funktioniert ...

Klicken Sie auf das Cloudera-Bild und klicken Sie auf Einstellungen. Klicken Sie auf Netzwerk -> Adapter 1 (standardmäßig als NAT angehängt) -> Erweitert -> Portweiterleitung. Fügen Sie einen neuen Eintrag hinzu (klicken Sie auf +, um ihn hinzuzufügen) mit den folgenden Einstellungen:

Host-Port: 1111, Gast-Port: 22, lassen Sie die Host-IP und die Gast-IP leer

Stellen Sie wie cmdfolgt eine Verbindung von Ihrer Mac- Shell her her

ssh -p 1111 cloudera@localhost

Bei Ubuntu 18.04 zusätzlich ssh installieren und neu starten

sudo apt-get install ssh
shazzing
quelle
Vielen Dank
McLan
Ich habe die IP-Adressen gemäß @Pujochr unten festgelegt, aber was noch wichtiger ist, es wurde sichergestellt, dass ssh auf dem VirtualBox-Computer ( sudo apt-get install ssh) installiert war , und dann der Neustart des Ubuntu VirtualBox-Computers, mit dem ich mich vom Host-Mac aus anmelden konnte.
Phil Ryan
4

Wikipedia sagen

Auf den meisten Computersystemen wird localhost in die IP-Adresse 127.0.0.1 aufgelöst

dein Befehl

ssh root @ 127.0.0.1 -p 2222

Versuchen Sie, eine Verbindung von Mac zu Mac und nicht zu Ihrer VM herzustellen.

Versuchen Sie, die Adresse Ihrer VM zu finden und Ihren Befehl entsprechend zu ändern.

NB: Wenn Sie nur von Ihrem Mac auf Ihre VM ssh möchten, können Sie Ihrer VM einen Netzwerkadapter nur für Hosts hinzufügen.

`ifconfig -a`

In Ihrer Ubuntu-VM sollte dann die zugehörige IP-Adresse vboxnet0 angezeigt werden, die Sie für die Verbindung von Ihrem Mac verwenden können.

Pujolchr
quelle
2

Stellen Sie zunächst sicher, dass Ihre VM ausgeschaltet ist. Klicken Sie dann mit der rechten Maustaste auf VM. Gehen Sie dann zu Einstellungen -> Netzwerk. Wählen Sie im Abschnitt Angehängt an die Option Bridged Adapter aus der Dropdown-Liste aus. OK klicken

Schalten Sie nun das VM Open-Terminal ein und geben Sie sudo apt-get install openssh-server ein

Geben Sie nun ifconfig ein (falls nicht installiert, müssen Sie es mit sudo apt install net-tools installieren). Nach diesem Befehl erhalten Sie die IP-Adresse wie

enp0s3: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 10.54.375.20  netmask 255.255.128.0  broadcast 10.88.255.255
        inet6 fe80::c5cc:cb0d:b02f:f7f6  prefixlen 64  scopeid 0x20<link>
        ether 08:00:27:29:7c:4d  txqueuelen 1000  (Ethernet)
        RX packets 6560  bytes 7484338 (7.4 MB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 2063  bytes 210479 (210.4 KB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

Nehmen Sie die IP-Adresse von (inet 10.54.375.20) und nehmen Sie Ihre Adresse, die angezeigt wurde.

Geben Sie nun in Ihren Host-PC (Ihren PC) ssh username @ yourip (z. B. [email protected]) ein und Sie werden nach Ihrem VM-Passwort gefragt. Sobald Sie sich angemeldet haben, können Sie auf Ihre VM-Befehlszeile zugreifen.

Nitin
quelle
1

Wenn Sie nur mit einer bereitgestellten Festplattendatei gearbeitet haben, bedeutet dies für mich, dass Sie die VM selbst erstellt haben. Die Standard-Netzwerkeinstellung für neue VMs ist "NAT". Sie müssen also eine NAT-Regel erstellen, die den Port 22 des Hosts an den Port 22 der VM weiterleitet.

Ich weiß nichts über MacOS, aber unter Linux müssten Sie einen Port> 1024 verwenden. Normalerweise verwende ich Ports, die mit 10000 und dem jeweiligen Service-Port beginnen. In Ihrem Fall würde ich eine Portzuordnung von 10022 -> 22 vornehmen. Für den Eintrag in der Spalte "Host" verwende ich 127.0.0.1 und für die Gastseite 0.0.0.0 als Adressen.

Sie gelangen über "Rechtsklick auf VM" im VirtualBox Manager -> "Ändern" -> "Netzwerk" - Registerkarte -> "Portweiterleitung" zum Menü.

Paul w. Muad'dib
quelle