it-swarm.com.de

Verwenden Sie SCP oder SFTP mit meiner SSH-Konfigurationsdatei?

Vielleicht scheitert mein Google-Foo hier ... Ich möchte eine Verbindung herstellen und eine MySQL-Dump-Datei über ein Terminal mit SFTP oder SCP auf meinen Remote-Server mit meiner SSH-Konfigurationsdatei hochladen. Laut Dokumentation, die ich gefunden habe, sollte ich dazu in der Lage sein:

sftp -F db.sql.gz [email protected] /tmp

Ich habe auch den Alias ​​in meiner Konfiguration müde:

sftp -F db.sql.gz myalias /tmp

Wenn ich die zwei oben mache, bekomme ich einfach einen Ausdruck von möglichen Befehlen, wobei -F einer von ihnen ist.

Ich kann bereits eine Verbindung über ssh herstellen, indem ich die Verknüpfung in meiner lokalen Konfiguration verwende, also weiß ich, dass das funktioniert:

ssh myalias

** Hinweis: Ich verbinde mich mit einem privaten/öffentlichen Schlüsselpaar, sodass ich kein Passwort eingeben muss. Dem Schlüsselpaar ist zwar eine Passphrase zugeordnet, aber OS X-Schlüsselbund hat sich beim ersten Herstellen einer Verbindung daran erinnert.

Ich bin mir also nicht sicher, was ich falsch mache.

41
Danny Englander
  1. Aus dem Hilfetext: "... [-F ssh_config] ..."

    Demnach erwartet -F ein Argument: Pfad zu einer OpenSSH-Konfigurationsdatei, ~/.ssh/config oder ähnliches. Aber Sie geben ihm stattdessen einen gezippten SQL-Speicherauszug.

    Da normaler ssh myalias bereits funktioniert, benötigen Sie hier nicht einmal die Option -F. Nur sftp myalias würde eine Verbindung zum Server herstellen.

  2. Der OpenSSH sftp-Client unterstützt jedoch nicht das Hochladen von Dateien, wie Sie es versuchen. Es kann nur Dateien herunterladen (mit der Syntax Host:path) oder im interaktiven Modus arbeiten. Zum Hochladen müssen Sie entweder den interaktiven Modus verwenden ...

    $ sftp myalias
    sftp> cd /tmp
    sftp> put db.sql.gz
    

    ... oder das scp Tool:

    scp db.sql.gz myalias:/tmp
    

    oder

    scp db.sql.gz [email protected]:/tmp
    

(sftp verfügt über einen Stapelverarbeitungsmodus, in dem Befehle aus einer Datei mit -b gelesen werden können. Es ist jedoch einfacher, scp für einzelne Uploads zu verwenden.)

Es gibt auch andere SFTP-Clients - lftp eignet sich für die interaktive Verwendung, während curl kann einfacher zu automatisieren sein. Für Sicherungen und ähnliches können Sie auch rsync verwenden (das sein eigenes Protokoll ausführt, sich aber immer noch in SSH befindet).

45
grawity