90 votes

Comment télécharger un fichier local vers un serveur via un terminal Linux ?

J'essaie de télécharger des fichiers locaux vers le serveur en utilisant Putty ou SSH mais je n'y arrive pas.

Existe-t-il une méthode directe pour télécharger un fichier d'un site local vers un serveur à partir d'un terminal Linux sans utiliser FTP, etc.

117voto

Giacomo1968 Points 48326

Bien sûr. Utilisez scp (copie sécurisée) comme ceci :

scp [source file] [username]@[destination server]:.

Bien sûr, remplacez les crochets [source file] , [username] y [destination server] pour correspondre à vos paramètres locaux. Ainsi, si le fichier était cool_stuff.txt et votre nom d'utilisateur sur le serveur distant est sanjeev et le serveur de destination est example.com la commande serait :

scp cool_stuff.txt sanjeev@example.com:.

Et la source peut également être distante, ce qui permet de faire l'inverse de l'exemple ci-dessus :

scp sanjeev@example.com:cool_stuff.txt .

Cette commande copierait le fichier distant cool_stuff.txt dans le répertoire local où vous vous trouvez. Et si vous faites cela avec plusieurs fichiers, utilisez simplement un joker ( * ) comme vous le feriez pour une cp commandement.

En outre, le . indique simplement le chemin d'accès immédiat au répertoire, par exemple celui dans lequel vous vous trouvez au moment où vous exécutez la commande ou le chemin d'accès immédiat de l'utilisateur distant sur le serveur de destination. Mais vous pouvez également spécifier un chemin comme /this/path/right/here dans l'exemple du local au distant :

scp cool_stuff.txt sanjeev@example.com:/this/path/right/here

Ou l'exemple de la télécommande vers le local juste ici :

scp sanjeev@example.com:cool_stuff.txt /this/path/right/here

Maintenant, si le serveur distant ne permet pas SSH et seulement SFTP, alors SFTP est la solution. Mais scp est très utile lorsque vous voulez juste lancer un fichier et ne pas faire tout le processus SFTP manuellement à partir de la ligne de commande.

29voto

zx8754 Points 623

Lorsque la connexion au serveur distant se fait par ssh nous pouvons utiliser -i pour transmettre notre clé au serveur :

scp -i /path/to/.ssh/id_rsa path/to/file/myFiles.gz myServer.com:/folder/on/server

Syntaxe

scp -i <identity_file> <src_file> <user>@<server>:<dest_file>

-i fichier_identité
Sélectionne le fichier à partir duquel l'identité (clé privée) pour l'authentification par clé publique est lue.
Cette option est directement passée à ssh(1).

18voto

CBinyenya Points 181

Pour ajouter à la réponse de Jake vous pouvez spécifier un emplacement - au lieu de seulement . -pour copier vers en ajoutant le chemin à la fin de l'URL comme :

scp /path/to/file username@servername/ip:/destination/folder/

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X