Ich ging ssh
in das Verzeichnis meines Webhosts und tar
lud die Webapp herunter. Wenn ich mv
nach ~/mydirectory/backups
oder versuche /home/mydirectory/backups
, definiert es das "Zuhause" als meine Wurzel auf dem Webhost, in den ich eingebunden bin.
Wie kann ich in ssh auf ein lokales Laufwerk übertragen, während ich mich noch im System des Webhosts befinde?
Antworten:
Das Wichtigste zuerst: Mit ssh können Sie sich remote bei einem anderen Computer anmelden. Die Shell (Kommandozeile), die Sie nach ssh erhalten, ist (so ziemlich) die gleiche, als hätten Sie ein xterm auf dem entfernten Rechner geöffnet. If bietet keine solche Möglichkeit, Dateien zu verschieben.
Die Tatsache, dass der Remotecomputer ssh-Verbindungen akzeptiert, bietet Ihnen jedoch einige Optionen zum Austauschen von Dateien:
Scp verwenden Um von Ihrem lokalen Computer auf die Fernbedienung zu kopieren, geben Sie Folgendes in den lokalen Computer ein:
scp /tmp/file [email protected]:/home/name/dir
(wobei / tmp / file durch eine beliebige lokale Datei und / home / name / dir durch ein beliebiges entferntes Verzeichnis ersetzt werden kann)
Geben Sie zum Kopieren vom Remotecomputer auf den lokalen Computer Folgendes ein:
scp [email protected]:/home/name/dir/file /tmp
Use sshfs Dies ist etwas fortgeschrittener, aber viel, viel schöner (wenn die Internetverbindung beider Computer gut ist. Wenn nicht, bleibe bei scp)
Sie können ein Verzeichnis vom Remotecomputer mit einem (leeren) Verzeichnis des lokalen Computers "verknüpfen". Angenommen, Sie "verknüpfen" das Verzeichnis / some / remote / vom Remotecomputer mit / home / youruser / remotecomp auf Ihrem Computer. Befindet sich auf dem Remote-Computer eine Datei / some / remote / dir / file, können Sie diese unter / home / youruser / remotecomp / file anzeigen. Sie können wie gewohnt kopieren und mv, und Sie können sogar entfernte Dateien und Verzeichnisse ändern.
Beachten Sie jedoch, dass / home / youruser / remotecomp nach dem Beenden der Verbindung wieder ein leeres Verzeichnis wird und Sie nur die Dateien auf dem lokalen Computer behalten, die Sie in andere Verzeichnisse kopiert haben
Um das zu erreichen:
1) installiere sshfs:
sudo apt-get install sshfs
2) Erstellen Sie ein leeres Verzeichnis
mkdir /home/youruser/remotecomp
3) "verbinde" die beiden Verzeichnisse (der richtige Begriff ist mount)
sshfs [email protected]:/some/remote/dir /home/youruser/remotecomp
4) Viel Spaß
5) "Verknüpfung" der Verzeichnisse aufheben
fusermount -u /home/youruser/remotecomp
Wenn auf dem lokalen Computer Windows ausgeführt wird Sie können Versionen von
scp
für Windows finden. Siehe zB winscpquelle
sshfs
Optionrsync -P -e ssh /tmp/file [email protected]:/home/name/dir
. Dies liegt daran, dass die Dateiscp
nur gelöscht wird, wenn die Dateiübertragung nach der Hälfte fehlschlägt . Auf der anderen Seite, wenn Sie verwendenrsync
mit der-P
Option, es wird eine unvollständige Datei auf dem entfernten Rechner halten und , wenn Sie die Übertragung neu starten, wird es sicher , dass bereits , was auf dem Remote - Computer die Datei auf dem lokalen Computer übereinstimmt und Fahren Sie dort fort, wo die Übertragung aufgehört hat.Sie können entweder
scp
oder verwendenrsync
. In Ihrem lokalen System:scp remoteuser@remotehost:/remote/dir/file /local/dir/
Aber da Sie das Backup erwähnt haben, gehe ich davon aus, dass es inkrementell ist und Sie es von Zeit zu Zeit tun müssen. Daher
rsync
ist dies eine bessere Wahl für inkrementelle Sicherungen. Auf Ihrer lokalen Shell:rsync -avz -e ssh remoteuser@remotehost:/remote/dir /local/dir/
sehen
rsync(1)
undscp(1)
man - Seiten für Optionen.quelle
Sie können scp secure copy verwenden.
Von Ihrer lokalen Shell:
Dieses Beispiel wird per ssh von /path/of-the/tar.archive Ihres Webhosts nach / home / mydirectory / backups / kopiert.
Zusätzliche Optionen:
-C : Aktiviert die Komprimierung
quelle
Ich hatte das gleiche problem Hier ist die einfache Lösung: -
+ Other Locations
unten links auf.Connect to server
. Schreiben Sie die SSH-Adresse in das Eingabefeld, zssh://111.222.333.444/
.home
Remote-Standort. Fühlen Sie sich frei, Dateien hier und da zu verschieben.quelle
Die anderen Antworten empfehlen
rsync
oderscp
erfordern, dass Sie den Speicherort der zu kopierenden Datei auf dem Remotecomputer kennen.Wenn Sie stattdessen in der Lage sein möchten, auf der Remote-Maschine herumzustöbern
ssh
, möchten Sie ausgeführt werdensftp
. Das Anmelden am Server ist sehr ähnlich.ssh
Wenn Sie jedoch erst einmal angemeldet sind, geben Sie Folgendes ein,help
um die Liste der Befehle abzurufen. Auf diese Weise können Sie sich sowohl auf dem lokalen als auch auf dem Remotecomputer fortbewegen und Dateien problemlos hin und her übertragen.quelle
Es ist seltsam, dass es von innen unmöglich ist
ssh
. In einem normalen Terminal kann man Dateien mit zmodem-Befehlen senden / empfangen.Dies half bei der Suche nach
zssh
: http://zssh.sourceforge.net/ . Man muss es als Wrapper zum Original ausführenssh
.quelle