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

47

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

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

Sanjeev Kumar Goswami
la source
SFTP est ce que vous recherchez.
Je veux transférer mon fichier local sur le serveur en utilisant Linux Terminal.Suppose que nous ayons l'habitude d'accéder au serveur par putty ou ssh mais pas en mesure de transférer le fichier par sur le même terminal.

Réponses:

64

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]et [destination server]pour correspondre à vos paramètres locaux. Donc, si le fichier était cool_stuff.txtet que votre nom d'utilisateur sur le serveur distant est sanjeevet que le serveur de destination l'est example.com, la commande serait:

scp cool_stuff.txt [email protected]:.

Et la source peut également être distante, vous pouvez donc faire cela pour faire le contraire de l'exemple ci-dessus:

scp [email protected]:cool_stuff.txt .

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

En outre, le .juste indique le chemin de répertoire immédiat; tel que 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 d'accès comme /this/path/right/heredans l'exemple local vers distant:

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

Ou l'exemple distant vers 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 le chemin à parcourir. Mais scpest 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.

JakeGould
la source
13

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

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

-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).

zx8754
la source
13

Pour compléter la réponse de Jake , vous pouvez spécifier un emplacement - au lieu de simplement .- vers lequel copier en ajoutant le chemin d'accès à la fin de l'URL comme suit:

scp /path/to/file username@servername/ip:/destination/folder/
CBinyenya
la source
1
Pour info l'espace entre l'hôte distant et le chemin est une erreur, vous devez donc écrire ceci sans espace! (l'édition de cette réponse n'est pas possible pour le moment)
Sliq