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