web-dev-qa-db-fra.com

Utiliser SCP ou SFTP avec mon fichier de configuration ssh?

Peut-être que mon google-foo m'échoue ici ... Je voudrais connecter et télécharger un fichier de vidage mysql via un terminal utilisant SFTP ou SCP sur mon serveur distant à l'aide de mon fichier de configuration ssh. D'après la documentation que j'ai trouvée, je devrais pouvoir faire ceci:

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

J'ai aussi fatigué le pseudonyme dans ma config:

sftp -F db.sql.gz myalias /tmp

Quand je fais les deux ci-dessus, je reçois simplement une impression des commandes possibles, -F étant l'une d'entre elles.

Je peux déjà me connecter via ssh en utilisant le raccourci dans ma configuration locale pour que je sache que cela fonctionne:

ssh myalias

** Remarque: je me connecte à l'aide d'une paire de clés privée/publique, je n'ai donc jamais besoin de saisir de mot de passe. Un mot de passe composé est associé à la paire de clés, mais OS X Keychain en a gardé le souvenir lors de ma première connexion.

... donc je ne suis pas sûr de ce que je fais mal.

41
Danny Englander
  1. Dans le texte d'aide: "... [-F ssh_config] ..."

    Selon ce qui précède, -F attend un argument: chemin d'accès à un fichier de configuration OpenSSH, ~/.ssh/config ou similaire. Mais vous lui donnez plutôt un dump SQL compressé.

    Puisque le ssh myalias simple fonctionne déjà, vous n'avez même pas besoin de l'option -F ici. Juste sftp myalias se connecterait au serveur.

  2. Cependant, le client OpenSSH sftp ne prend pas en charge le téléchargement de fichiers comme vous le souhaitez; il ne peut télécharger que des fichiers (en utilisant la syntaxe Host:path) ou travailler en mode interactif. Pour le téléchargement, vous devez utiliser le mode interactif ...

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

    ... ou l'outil scp:

    scp db.sql.gz myalias:/tmp
    

    ou

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

(sftp a un mode de traitement par lots dans lequel il peut lire les commandes d’un fichier en utilisant -b, mais il est plus simple d’utiliser scp pour les téléchargements uniques.)

Il existe également d’autres clients SFTP - . Lftp convient à une utilisation interactive, tandis que est curl peut être plus facile à automatiser. Pour les sauvegardes et autres, vous pouvez également utiliser rsync (qui exécute son propre protocole mais toujours dans SSH).

45
grawity