Ich versuche etwas ziemlich ungewöhnliches (für mich jedenfalls) mit SSH zu machen und ich kann es nicht zum Laufen bringen, hoffentlich können Sie helfen.
Ich möchte mit SSH von meinem Mac aus eine Verbindung zu einem Remote-Server herstellen. So weit, ist es gut. Jetzt das knifflige Bit, mit der Verbindung zum Remoteserver hergestellt möchte ich dann eine Verbindung vom Remoteserver ZURÜCK zum lokalen Rechner initiieren. Ich weiß, verrückt. Grundsätzlich muss ich durch diese Rahmen springen, um den Remote-Server durchsuchen und dann Dateiinformationen an meinen lokalen Computer zurücksenden zu können, damit eine Anwendung auf dem lokalen Computer mit ihnen umgehen kann. Hoffentlich macht das Sinn!
In dem Moment, in dem ich nach dem Anmelden am Remote-Server SSH auf den lokalen Computer zurücksende, bleibt das Terminal einfach stehen und surrt, auch mit -v gibt es keine Fehler.
Ich versuche herauszufinden, wo ich anrufen soll, indem ich mir die Ausgabe der Variablen $ SSH_CLIENT ansehe, aber ich habe eine Standard-Vanille-Internetverbindung (keine statische IP-Adresse). Ich denke, das könnte das Problem verursachen.
Dinge, die ich festgestellt habe: Ich bin auf einem Mac (OS X 10.6.4) und habe die Remote-Anmeldung in den Systemeinstellungen / -freigaben aktiviert. Wenn ich versuche, von einem anderen Computer im LAN aus SSH auf meinem Mac auszuführen, kann ich keine Probleme mit der Verbindung herstellen. Wenn ich versuche, SSH von meinem Remote-Server auf einen anderen Server (nicht auf meinen lokalen Computer) zu übertragen, kann ich ohne Probleme eine Verbindung herstellen.
Die obigen Tatsachen lassen mich denken, dass ich in Bezug auf Firewalls usw. auf den lokalen und Remote-Computern im Klaren bin.
Ich bin mir sicher, dass ich hier etwas ganz Offensichtliches vermissen muss, aber für mein ganzes Leben kann ich es nicht in den Griff bekommen.
Jede Hilfe, Links oder allgemeines Anstupsen in die richtige Richtung wäre sehr dankbar!
quelle
Antworten:
Wenn Sie sich bei der Rückkehr zu Ihrem lokalen Netzwerk anmelden können, bevor Sie auflegen, ist dies nicht die Antwort. Wenn Sie nicht so weit kommen, kehren Sie wahrscheinlich nicht zu Ihrem Mac zurück (entweder kommen Sie nicht weiter oder treffen Sie SSH auf einem Gateway). Versuchen Sie es mit einem Reverse-Tunnel (dafür muss GatewayPorts in sshd_config auf Ihrem Server auf On gesetzt sein, aber ich glaube, dies ist die Standardeinstellung): Damit
you@yourMac$ ssh -R 2000:localhost:22 user@remoteserver
sollten Sie wie gewohnt eine Verbindung zum Server herstellen können, aber auch einen Tunnel öffnen, damit Sie wieder eine Verbindung herstellen können port 2000 (jeder port über 1024 sollte funktionieren), also
you@yourserver$ ssh -p2000 user@localhost
EDIT: Hostname in localhost geändert
quelle
Ist Ihr lokaler Computer vom Server aus erreichbar? Kannst du es anpingen? Ich bitte darum, weil das, was Sie tun, funktionieren sollte, wenn Ihre Maschine zugänglich ist. Ihr Server ist im Internet oder im LAN, das gleiche Subnetz?
Wie auch immer, wenn Sie nur eine Datei bearbeiten müssen, warum verwenden Sie nicht einfach scp, um die Datei auf Ihren lokalen Computer zu kopieren? Sie können ssh verwenden, um auf dem Remote-Server nach der Datei zu suchen, und wenn Sie den Pfad haben, geben Sie auf Ihrem lokalen Computer (in einem anderen Terminal) Folgendes ein:
Um die Datei zurückzusetzen, müssen Sie die Pfade erneut umschalten.
Hinweis: Sie benötigen keine anfängliche ssh-Verbindung, um scp zu verwenden - es wird eine neue erstellt
Dies ist oben beschrieben, wenn Sie im Terminal darauf zugreifen müssen. Unter Linux (und natürlich auf einem Mac, aber ich weiß nicht, wie das geht) können Sie einen SSH-Remote-Standort in Netzwerken bereitstellen und die Verbindung so verwenden, wie Sie eine lokale Festplatte verwenden (dies ist SFTP und die Verbindung hat die Form:
sftp://user@server:/path/to/mount
und ich denke, dies ist, was Sie anstelle einer Remote-Terminal-Verbindung benötigen, damit Sie die Datei direkt mit der Mac-Anwendung bearbeiten können.quelle
Vielleicht möchten Sie auch einen Blick darauf werfen
sshfs
(dazu benötigen Sie MacFuse ). Auf diese Weise können Sie Verzeichnisse auf dem Remotecomputer bereitstellen und wie normale Ordner auf Ihrem Computer darauf zugreifen. Darüber hinaus können Sie nochssh
in die Maschine hinein und die benötigten Dateien erstellen / durchsuchen. Das Übertragen ist dann so einfach wie das Übertragen lokaler Dateien.quelle