Frage Wie kann ich in SSH zu meinem lokalen System wechseln?


ich ssh-ed in das Verzeichnis meines Webhosts und tar-ed die Webanwendung zum Herunterladen. Wenn ich es versuche mv zu ~/mydirectory/backups oder /home/mydirectory/backupsEs definiert das "Zuhause" als meine Wurzel auf dem Webhost, in den ich hineingehackt bin.

Wie kann ich in ssh auf ein lokales Laufwerk zugreifen, während ich noch im System des Webhosts bin?


114
2018-06-28 23:41


Ursprung


Mit welchem ​​Betriebssystem verbinden Sie sich? - Zoredache


Antworten:


Das Wichtigste zuerst: ssh ist eine Möglichkeit, sich remote an einem anderen Computer anzumelden. Die Shell (Befehlszeile), die du nach deinem ssh bekommst, ist (fast) genauso, als hättest du einen xterm auf dem entfernten Rechner geöffnet. Wenn bietet keine Möglichkeit zum Verschieben von Dateien.

Die Tatsache, dass der Remote-Computer ssh-Verbindungen akzeptiert, bietet jedoch einige Optionen zum Austausch von Dateien:

Verwenden Sie scp  Geben Sie auf dem lokalen Computer Folgendes ein, um von Ihrem lokalen Computer zur Remote zu kopieren:

scp /tmp/file user@example.com:/home/name/dir

(wobei / tmp / file mit jeder lokalen Datei und / home / name / dir mit einem beliebigen fernen Verzeichnis ersetzt werden kann)

Um vom entfernten Computer zum lokalen Computer zu kopieren, geben Sie in das Feld lokal Computer:

scp user@example.com:/home/name/dir/file /tmp

Verwenden Sie sshfs Dies ist ein wenig fortgeschrittener, aber viel, viel schöner (wenn die Internetverbindung beider Computer gut ist. Wenn nicht, bleib bei scp)

Sie können ein Verzeichnis vom Remotecomputer mit einem (leeren) Verzeichnis des lokalen Computers verknüpfen. Angenommen, Sie verbinden das Verzeichnis / some / remote / von dem entfernten Computer mit / home / youruser / remotecomp in Ihrem Computer. Wenn sich auf dem Remote-Computer eine Datei / einige / remote / dir / Datei befindet, können Sie sie unter / home / youruser / remotecomp / file sehen. Sie können kopieren und mv wie gewohnt, und Sie können sogar entfernte Dateien und Verzeichnisse ändern.

Beachten Sie jedoch, dass / home / youruser / remotecomp beim Beenden der Verbindung wieder ein leeres Verzeichnis wird und Sie die Dateien, die Sie in andere Verzeichnisse kopiert haben, nur auf dem lokalen Computer behalten

Um das zu erreichen:

1) installiere sshfs:

sudo apt-get install sshfs

2) Erstellen Sie ein leeres Verzeichnis

mkdir /home/youruser/remotecomp

3) "Verknüpfen" Sie die beiden Verzeichnisse (der richtige Begriff ist mount)

sshfs user@server.com:/some/remote/dir /home/youruser/remotecomp

4) Genießen

5) "unlink" die Dirs

fusermount -u /home/youruser/remotecomp

Wenn der lokale Computer Windows ausführt  Sie können Versionen von finden scp für Windows. Siehe z.B. winscp 


156
2018-06-29 01:32



Gibt es eine Möglichkeit, die Datei von der Remote-Maschine über "Terminal auf der Remote-Maschine" auf den lokalen Rechner zu kopieren? In Ihrem Fall haben Sie das Terminal auf dem lokalen Computer verwendet. Ich spreche über eine Situation, wo lokale Maschine Windows und Remote ist Ubuntu und ich bin auf dem Remote-Rechner über ssh angemeldet. - chandresh
Normalerweise nicht. Soweit ich weiß, bedeutet das Kopieren über "Terminal in remote machine", dass Sie einen SSH-Server in der "lokalen Maschine" benötigen (ich habe während meiner Antwort absichtlich übersprungen, aber "die Tatsache, dass der Remote-Computer SSH-Verbindungen akzeptiert" gemeint) sagen "die Tatsache, dass der Remote-Computer einen SSH-Server ausführt" - josinalvo
Sie können jedoch "scp clients" für Windows finden. Siehe z.B. winscp.net/ger/download.php - josinalvo
Ich liebe die sshfs Möglichkeit - Fibo Kowalsky


Sie können entweder verwenden scp oder rsync. In Ihrem lokalen System:

scp remoteuser@remotehost:/remote/dir/file /local/dir/

Aber da Sie Backup erwähnt haben, gehe ich davon aus, dass es inkrementell sein würde und Sie es von Zeit zu Zeit tun müssen. Damit, rsync ist eine bessere Wahl für inkrementelles Backup. Auf deiner lokalen Shell:

rsync -avz -e ssh remoteuser@remotehost:/remote/dir /local/dir/

sehen rsync(1)und scp(1) Manpages für Optionen.


15
2018-06-29 01:31





Du könntest benutzen scp sichere Kopie.

Von deiner lokalen Shell:

scp -C username@webhost:/path/of-the/tar.archive /home/mydirectory/backups/

Dieses Beispiel kopiert über ssh von /path/of-the/tar.archive Ihres Webhosts nach / home / mydirectory / backups /

Extra Optionen:

-C: Aktiviert die Komprimierung


8
2018-06-28 23:48





Ich hatte das gleiche Problem. Hier ist die einfache Lösung: -

  1. Öffnen Sie Nautilus (der Datei-Explorer)
  2. Klicke auf + Other Locations am unteren Ende der linken Seite.
  3. Unten ist ein Streifen Connect to server. Schreiben Sie die ssh-Adresse in das Eingabefeld wie z ssh://111.222.333.444/.
  4. Geben Sie Ihren Benutzernamen und Ihr Passwort in das sich öffnende Dialogfeld ein.
  5. Nach erfolgreicher Authentifizierung sind Sie bei home von entferntem Standort. Fühlen Sie sich frei, Datei hier und dort zu bewegen.

4
2018-02-04 18:13



Gute Antwort! Einfach und am nächsten zu einer Antwort auf die eigentliche Frage, das heißt, wie mv aus dem ssh Remote-Computer. Die Antwort ist, Sie können es nicht, Sie tun es vom lokalen Computer aus. Oder dieses! Sie tun dies grafisch von Ihrem Explorer, so dass es zumindest für den Benutzer tatsächlich so aussieht, als könnten Sie Dateien direkt von Remote zu Local verschieben. - Kvothe


Die anderen Antworten empfehlen rsync oder scpBei beiden muss der Speicherort der Datei bekannt sein, die Sie auf dem Remotecomputer kopieren möchten.

Wenn Sie stattdessen in der Lage sein möchten, auf der Remote-Maschine herumzustöbern, wie Sie es können ssh, du willst laufen sftp. Anmeldung beim Server ist sehr ähnlich ssh, aber sobald du rein kommst, tippe ein help Um die Liste der Befehle zu erhalten, können Sie sich sowohl auf den lokalen als auch auf den Remote-Rechnern bewegen und die Dateien einfach hin und her übertragen.


1
2018-02-05 21:37