Ich brauche ziemlich oft Dateien von einem Server, wenn ich auf meinem Laptop bin. Aber wenn ich nicht weiß, wo sich diese Datei befindet, muss ich mich auf ssh
dem Server umsehen exit
und dann scp server:file .
. Wenn ich mit meinem Desktop und meinem Server arbeite, die beide statische IP-Adressen haben, kann ich die Datei einfach in umgekehrter Reihenfolge scannen ( scp desktop:~ file
), aber ich kann das nicht für meinen Laptop tun. Gibt es eine gute Möglichkeit, eine Datei über eine SSH-Verbindung rückwärts zu scannen? Damit der Computer, mit dem ich mich mit SSH verbinde, eine Datei rückwärts an den Client sendet?
17
Antworten:
Mit SFTP, einer Erweiterung von SSH, die komplexere Dateioperationen als SCP unterstützt, wäre dies viel einfacher. Praktisch alle modernen Unix- und Linux-Distributionen unterstützen dies. Führen Sie dazu einfach den folgenden Befehl aus, um eine Verbindung zum Server herzustellen:
Dann können Sie die verwenden
ls
undcd
Befehle stöbern und finden Sie die Datei , die Sie suchen. Wenn Sie es gefunden haben, können Sie es mit demget
Befehl herunterladen. Zum Beispiel zum Herunterladenfile.txt
in Ihrem aktuellen Arbeitsverzeichnis auf dem Server in Ihr aktuelles Arbeitsverzeichnis auf Ihrem lokalen Computer , führen Sie einfach Folgendes aus:Führen Sie stattdessen Folgendes aus, um
/home/pavpanchekha/textfiles/file.txt
auf dem Server~/textfiles/
auf Ihren lokalen Computer herunterzuladen :Umgekehrt können Sie auf diese Weise auch Dateien hochladen. Geben
file.txt
Sie zum Hochladen von Ihrem lokalen aktuellen Arbeitsverzeichnis in das aktuelle Arbeitsverzeichnis des Servers Folgendes ein:Sie können auch vollständige Pfade für jeden verwenden, wie Sie es mit können
get
:Eine vollständige Liste der verfügbaren SFTP-Befehle erhalten Sie, wenn Sie
help
an dersftp>
Eingabeaufforderung ausgeführt werden.quelle
SSH_CLIENT
Umgebungsvariable enthält unter anderem die IP-Adresse des verbindenden Hosts. Damit können Sie einen Shell-Alias erstellen, mit dem Sie SFTP problemlos auf den Ursprungshost zurücksenden können. Fügen Sie einfach diese Zeile~/.bashrc
auf dem Server hinzu:alias sftpback="sftp $(echo $SSH_CLIENT | awk '{print $1}')"
Trennen Sie die Verbindung zu SSH und stellen Sie sie wieder her, damit die Änderung wirksam wird, oder führen Sie sie so aus, als wäre es ein Befehl, damit sie sofort wirksam wird. Von da an können Sie einfachsftpback
zu dem Client, von dem aus Sie eine Verbindung herstellen, zu SFTP zurückkehren, unabhängig davon, um welchen Client es sich handelt.Der Konsolendateimanager Midnight Commander (mc) verfügt über ein VFS-System, das die SFTP-Verbindung / Dateiverwaltung zu Remoteservern ermöglicht. Es läuft auch in Cygwin unter Windows. Die Standardschnittstelle zeigt zwei unabhängige Bereiche. Wir könnten das SFTP-Remote-Verzeichnis in einem von ihnen öffnen und Dateien auf einfache Weise zum / vom anderen Panel übertragen. Beinhaltet einen Datei-Editor / Viewer (mcedit) mit Syntaxhervorhebung.
quelle