web-dev-qa-db-fra.com

Comment télécharger un fichier local sur le serveur via un terminal Linux

J'essaie de télécharger des fichiers locaux sur le serveur en utilisant PuTTY ou SSH mais je ne les télécharge pas.

Existe-t-il une méthode directe pour télécharger un fichier de local à serveur depuis un terminal Linux sans utiliser FTP, etc.?

32

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

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

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

scp cool_stuff.txt [email protected]:.

Et la source pourrait aussi être distante, ce qui vous permettrait de faire le contraire de l'exemple ci-dessus:

scp [email protected]:cool_stuff.txt .

Cette commande copierait le fichier distant cool_stuff.txt dans le répertoire local dans lequel vous vous trouvez. Et si vous le faites avec plusieurs fichiers, utilisez simplement un caractère générique (*) comme vous le feriez pour une commande cp normale.

De plus, le . indique simplement le chemin du répertoire immédiat; tel que celui dans lequel vous vous trouvez au moment où vous exécutez la commande ou le chemin immédiat de l'utilisateur distant sur le serveur de destination. Mais vous pouvez également spécifier un chemin tel que /this/path/right/here dans l'exemple local à distant:

scp cool_stuff.txt [email protected]:/this/path/right/here

Ou la télécommande à l'exemple local ici:

scp [email protected]:cool_stuff.txt /this/path/right/here

Maintenant, si le serveur distant n'autorise pas SSH et uniquement SFTP, alors SFTP est la solution. Mais scp est très utile lorsque vous souhaitez simplement lancer un fichier et ne pas effectuer manuellement l’ensemble du processus SFTP à partir de la ligne de commande.

54
JakeGould

Pour ajouter à la réponse de Jake , vous pouvez spécifier un emplacement (au lieu de simplement .-) sur lequel copier en ajoutant le chemin à la fin de l'URL, comme suit:

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

Lorsque la connexion au serveur distant se fait via ssh clé, nous pouvons utiliser ci-dessous l'indicateur -i pour transmettre notre clé au serveur:

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

-i identité_file
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).

9
zx8754