2009-12-12 20:49:15 +0000 2009-12-12 20:49:15 +0000
30
30

Comment télécharger un fichier en ligne de commande avec FTP ou SSH ?

Je n'ai jamais fait cela auparavant et je suis en train de créer un script bash shell pour le faire à ma place. Je vais également me connecter via ssh pour faire certaines choses (que je sais déjà faire). Il y a peut-être un moyen de télécharger des fichiers via ssh pour que je puisse tout faire en une seule connexion ?

Comment puis-je faire cela ?

#!/bin/sh

cd ./files-to-upload
#upload the files

Réponses (7)

56
56
56
2009-12-12 20:53:32 +0000

Vous pouvez utiliser scp pour copier sur une machine distante.

scp <file to upload> <username>@<hostname>:<destination path>
6
6
6
2009-12-12 20:57:38 +0000

Vous êtes probablement à la recherche d'un SCP ou autre.

#!/bin/bash

cd ./files-to-upload
scp * user@host:/path/to/upload/files/to

bien sûr, cela doit être modifié à votre convenance. Un mot de passe vous sera demandé pour le téléchargement.

4
4
4
2009-12-16 12:08:36 +0000

Si vous devez vraiment utiliser ssh (au lieu de scp), vous pouvez le faire :

for filename in *; do
  cat $filename | ssh user@host "cd /path/to/upload/files/to; cat - > $filename"
done

mais la scp régulière (comme la suggestion tangens ) est la meilleure.

1
1
1
2009-12-13 07:15:17 +0000

scp est la meilleure réponse puisqu'il serait crypté sur SSH.

Cependant, si vous voulez le faire sur le ftp standard, regardez ncftpput. Il est conçu spécifiquement pour télécharger un fichier :

NAME ncftpput - Programme de transfert de fichiers par Internet pour les scripts

SYNOPSIS ncftpput [options] remote-host remote-directory local-files…

0
0
0
2015-09-04 18:22:34 +0000

Lorsque vous utilisez la commande scp (copie sécurisée), elle se connecte au client et si vous n'avez pas déjà une empreinte digitale enregistrée pour le périphérique hôte, elle vous demandera le mot de passe hôte ; sinon, elle devrait se connecter automatiquement à l'hôte, je crois.

0
0
0
2009-12-16 12:43:45 +0000

curl est un bon programme qui gère plusieurs protocoles.

0
0
0
2019-02-21 08:22:05 +0000

Pour l'exemple ec2, vous devez également transmettre le fichier .pem,

$scp -i ~/Desktop/amazon.pem ~/Desktop/file.zip ubuntu@ec2-54-166-128-20.compute-1.amazonaws.com:~/data/
```.