Ich habe SU- und SO-Beiträge durchgesehen und nach einer Möglichkeit gesucht, dies zum Laufen zu bringen, aber ich werde bald aufgeben und bei einer GUI bleiben. Ich möchte scp
eine ZIP-Datei von einem Remote-Server auf meinen lokalen Computer übertragen. Ich kann mich problemlos per SSH anmelden. Ich kann eine ZIP-Datei erstellen, löschen, bearbeiten usw., aber keine ZIP-Datei herunterladen. Das ist bisher das „Nächste“.
# scp backup.zip [email protected]:/Users/Steven/Desktop/test
.
Zur Verdeutlichung: „backup.zip“ ist das, was ich vom Server herunterladen möchte und das sich in meinem aktuellen Verzeichnis befindet. „Steven“ ist mein Benutzername auf meinem Laptop. Ich habe die IP-Adresse für meinen lokalen Computer durch die Einsen ersetzt und der Pfad ist der Pfad zu dem Speicherort, an den ich kopieren möchte.
Damit erhalte ich jedoch:
ssh: connect to host 111.111.111.11 port 22: Connection timed out lost connection
Das Lustige ist, dass ich nicht aus der Sitzung rausgeschmissen werde. Ich bleibe einfach genau dort, wo ich war, bevor ich den Befehl eingegeben habe. Habe ich etwas Syntax übersehen?
Antwort1
Verstehe ich richtig, dass Sie SSH verwenden, um eine Verbindung mit dem Remote-Host herzustellen, und dann scp
auf dem Remote-Host die Datei zurück auf den lokalen Host kopieren?
Auch ohne Kenntnisse über diese beiden Hosts ist es durchaus möglich, dass Ihr lokaler Host SSH-Verbindungen zum Remote-Host herstellen kann, der Remote-Host jedoch keine SSH-Verbindungen zum lokalen Host herstellen kann.
Wenn Sie SSH-Verbindungen vom lokalen Host zum Remote-Host herstellen können, können Sie Folgendes scp
auf dem lokalen Host statt auf dem Remote-Host ausführen:
scp remoteuser@remotehost:/path/to/backup.zip /Users/Steven/Desktop/test/
Antwort2
Sind Sie sicher, dass Ihr lokaler Mac unter dieser IP-Adresse vom Remote-Computer aus erreichbar ist? Wenn Sie beispielsweise eine private RFC 1918-Adresse wie 192.168.xy auf Ihrem lokalen Mac hätten, weil dieser sich hinter einem NAT-Gateway befindet, und der Remote-Computer sich auf der öffentlichen Seite des NAT-Gateways befindet, könnte der Remote-Computer Ihren lokalen Mac unter dieser Adresse nicht erreichen, da private RFC 1918-Adressen nicht geroutet werden können. Sie müssten eine Portzuordnung auf Ihrem NAT-Gateway einrichten, um Port 22 von seiner öffentlichen Adresse auf Port 22 auf der privaten Adresse des Macs und dann scp
auf die öffentliche Adresse des NAT-Gateways abzubilden.
Oder machen Sie es wie @Kenster vorgeschlagen hat und führen Sie den scp
Befehl umgekehrt aus, also vom lokalen Computer aus.