Ist es möglich, Remote-SSH in meine virtuelle Maschine einzubinden?

7

Mein Heimcomputer: Windows 7-Laptop, auf dem auch eine virtuelle Ubuntu-Maschine über VirtualBox mit einer überbrückten Netzwerkverbindung ausgeführt wird (im Gegensatz zu NAT).

Mein Arbeitscomputer: Ein Windows 7-Computer.

Ich möchte SSH von meinem Arbeitscomputer aus auf meinen Heimcomputer übertragen, weil ich meinen LAMP-Webserver ausführen / manipulieren möchte (was MySQL-Inhalte betrifft, ja). Ich verwende Apache auf der VirtualBox und es wäre großartig, die Kontrolle aus der Ferne zu haben.

Nach meinem Verständnis ist SSH eine Möglichkeit, sich remote bei Ihrem Terminal anzumelden, ja? Ich habe dieses Thema gegoogelt (was mich zu Dingen wie PuTTY geführt hat), aber ich habe Schwierigkeiten zu verstehen, wie all dies funktioniert oder was ich als Anfänger einrichten oder beachten muss.

Es wäre jedoch auch schön, wenn möglich von überall aus SSH-fähig zu sein! das wäre wirklich praktisch.

user51819
quelle
Wir können Ihnen vielleicht helfen, aber Sie haben nicht erklärt, was Sie tatsächlich brauchen. sshist ein Protokoll, mit dem Sie eine Verbindung zu (normalerweise) Remotecomputern herstellen können. Bitte kombinieren Sie nicht mehrere Fragen in einem einzigen Beitrag, sondern teilen Sie sie stattdessen in separate auf.
Terdon
Technisch gesehen ist alles eine Frage, da ich nicht weiß, ob SSH mir den Zugriff ermöglicht, den ein "Remote-Login" möglicherweise nicht auf SQL hat. Wenn dies der Fall ist, kann ich fragen, wie SSH richtig ausgeführt werden soll. Wenn nicht, dann brauche ich vielleicht noch etwas. Andernfalls ist es möglich, dass ich frage, wie SSH funktioniert, und dann ganz am Ende sage "Oh, übrigens, meine Remote-Anmeldungen für SQL sind deaktiviert", "
Warum haben Sie das nicht gesagt?
Ich vermute, dass die Remote-Anmeldefunktion in SQL für den Zugriff von außerhalb des Systems vorgesehen ist (z. B. von einem Remote-Webdienst oder Ähnlichem). Wenn Sie SSH verwenden, ist es so, als wären Sie ein lokaler Benutzer und Sie können SQL verwenden, da es nicht erkennen kann, dass Sie physisch nicht da sind (technisch gesehen ist dies möglicherweise möglich, aber es wird wahrscheinlich nicht).
Saiarcot895
Leider müssen Sie seinen Weg genauer , um für uns , Ihnen zu helfen. Was war der genaue Befehl? (nein "oder so ähnlich" bitte) Was genau sind diese Remote-Anmeldungen, von denen Sie sprechen? Wo haben Sie eine Nachricht über sie gesehen? Wenn Sie mySQL-Remote-Anmeldungen meinen, haben sie nichts mit ssh zu tun. Sobald Sie sich über ssh angemeldet haben, befinden Sie sich im Grunde genommen auf dem Remote-Computer. Für mySQL ist dies kein "Remote" -Login. Bitte bearbeiten Sie Ihre Frage und klären Sie.
Terdon
@ saiarcot895 Das ist, was ich auch vermute, aber nur sicher sein wollte
user51819

Antworten:

9

So installieren / konfigurieren SSH sollten Sie eine von vielen Führungen überprüfen Sie im Internet finden können surfen, diese eine zum Beispiel.

Mit dem folgenden Befehl können Sie über SSH eine Verbindung zu Ihrer virituellen Machiene herstellen:

ssh user@ip

Anschließend werden Sie aufgefordert, Ihr Passwort einzugeben. Um eine Verbindung herstellen zu können, benötigen Sie wie gesagt eine IP. Wenn Sie eine lokale Verbindung herstellen, haben Sie eine lokale IP. Sie können diese Adresse für das aktuelle System mit dem ifconfigBefehl überprüfen . Beispiel:

ifconfig
eth0      Link encap:Ethernet  HWaddr e8:39:35:42:ed:96  
          inet addr:191.13.238.54  Bcast:191.13.255.255  Mask:255.255.0.0
          inet6 addr: fe80::ea39:35ff:fe42:ed96/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:85385 errors:0 dropped:0 overruns:0 frame:0
          TX packets:77885 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:48235010 (48.2 MB)  TX bytes:9640323 (9.6 MB)

In inet addrmeinem Fall ist dies Ihre lokale IP-Adresse 191.13.238.54. Wenn ich auf meinem Computer eine Verbindung zu meinem SSH-Server herstellen würde, würde ich daher Folgendes ausführen:

ssh [email protected]

Um eine Verbindung von außerhalb Ihres Netzwerks herzustellen, müssen Sie den eingehenden Datenverkehr auf dem Port, auf dem SSH ausgeführt wird, über ein Admin-Panel für Ihren Router an Ihre lokale IP-Adresse weiterleiten. Einige Router unterstützen dies möglicherweise nicht und das Admin-Panel funktioniert zwischen den Herstellern unterschiedlich. Sie können jederzeit den Kundendienst anrufen, wenn Sie mit diesem Problem nicht weiterkommen.

Um Ihre "globale" IP-Adresse zu überprüfen, können Sie diese Website besuchen: Wie lautet meine IP?

Wenn Sie über SSH mit Ihrem "Server" verbunden sind, können Sie verschiedene Aufgaben wie SQL ausführen:

mysql -u root -p -h 127.0.0.0

Im obigen Szenario ist root der Benutzer, das Kennwort ist aktiviert -pund der Host ist 127.0.0.0/localhost (Ihr lokaler Computer).

Sie können auch mit Nano oder einem anderen Texteditor wie dem sehr beliebten und leistungsstarken (und komplizierten) auf Dateien zugreifen vim. Alles in allem haben Sie jetzt die Leistung eines Terminals in Ihren Händen, wenn Sie eine Verbindung über PuTTY herstellen.

Wenn Sie beispielsweise über den Dateimanager von Ubuntu eine Verbindung herstellen, erhalten Sie eine bessere visuelle Erfahrung und können Dateien in einem GUI-Editor anstatt über die Befehlszeile bearbeiten. Ähnliche Programme gibt es unter Windows, das müssen Sie selbst herausfinden.

Xweque
quelle
SSH ist also ein "Server" (ähnlich wie Apache?), Den ich immer auf meiner VM haben muss? Was genau macht "mysql -u root -p -h 127.0.0.0"?
user51819
Und wenn Sie "ssh [email protected]" sagen, geben Sie buchstäblich "user" oder Ihren Benutzernamen ein?
user51819
Ein SSH-Server ist sozusagen der hörende Teil. Es wartet darauf, dass Sie eine Anmeldeanforderung stellen. Es muss ausgeführt werden, damit Sie eine Verbindung herstellen können. Sie stellen mit dem Benutzernamen auf Ihrer virtuellen Maschine eine Verbindung zu ssh her. Der Befehl mysql ... stellt eine Verbindung zu mysql her. root ist der Benutzername für MySQL, 127.0.0.0 ist die IP. Sollte 127.0.0.0 sein, wenn es sich um eine lokale Verbindung handelt, was dies ist ...
Xweque
Ich verstehe immer noch nicht ganz, was -u und -p -h tun, aber danke für die Antwort!
user51819
-u wird vom Benutzernamen gefolgt. -p gibt an, dass Sie Ihr Passwort eingeben möchten, und -h wird vom Host gefolgt.
Xweque
3

Wenn Sie von einem beliebigen Ort aus auf Ihre VM (oder sogar Ihren Computer) ssh möchten, muss Ihr Host- (Arbeits-) Computer über eine IP verfügen, die Sie von Ihrem ISP mieten können, wenn dieser diese anbietet.

Wenn Sie jedoch von Ihrem eigenen Computer aus auf Ihre VM ssh möchten, liegt dies an Ihrem VirtualBox-Setup. Navigieren Sie zu Ihren VM-Einstellungen auf der Registerkarte Netzwerk. Schließen Sie Ihre VM an NAT an, und im erweiterten Modus sollten Sie die Portweiterleitung wie folgt einrichten:

Protocol -> TCP, HostIP -> 127.0.0.1, Host Port -> 1222, GuestIP -> (your VM ip shown via command ifconfig), GuestPort -> 22

Endlich können Sie über ssh zu Ihrer Maschine ssh [email protected] -p 1222

Schläger
quelle
Vielen Dank! Das brauchte ich. 3 Jahre nachdem die Frage gestellt wurde ....
Erik Aronesty