Comment télécharger un fichier depuis un serveur avec SSH / SCP

Anonim

Les utilisateurs peuvent télécharger en toute sécurité un fichier à partir de n'importe quel serveur distant avec SSH en utilisant l'outil scp sur la ligne de commande. Cela signifie essentiellement que vous pouvez stocker un fichier en toute sécurité sur un serveur distant et le transférer vers un stockage local sans avoir à exposer ce fichier au monde extérieur, car scp offre le même niveau de sécurité et nécessite la même authentification que ssh.

Le téléchargement sécurisé de fichiers avec scp s'adresse principalement aux utilisateurs avancés qui utilisent régulièrement ssh et la ligne de commande sous macOS X, bsd ou linux. Pour ceux qui ont une expérience adéquate de la ligne de commande, utiliser ssh et scp pour télécharger des fichiers distants est facile et, commodément, une fois le transfert de fichier terminé, la connexion à distance se terminera. Cela rend scp préférentiel à sftp pour les téléchargements de fichiers rapides, bien que vous puissiez évidemment utiliser sftp si vous le souhaitez également.

Téléchargement d'un fichier à partir d'un serveur distant avec SSH Secure Copy

Cela suppose que le serveur distant a ssh actif, et si vous êtes capable de ssh dans la machine, il aura probablement aussi scp actif. Si vous n'avez pas de serveur distant pour essayer cela, vous pouvez l'essayer entre des machines Mac OS X ou avec localhost si vous activez au préalable ssh et la connexion à distance sur le Mac.

La syntaxe de base pour utiliser scp (copie sécurisée) pour télécharger en toute sécurité des fichiers distants est la suivante, en remplaçant l'utilisateur, le serveur, le chemin et la cible selon le cas :

scp user@server:/path/to/remotefile.zip /Local/Target/Destination

Par exemple, pour télécharger un fichier sur le bureau local nommé "filename.zip" situé dans le répertoire personnel de l'utilisateur distant "osxdaily" sur le serveur IP 192.168.0.45, la syntaxe serait la suivante :

% scp [email protected]:filename.zip ~/Desktop/ Password: filename.zip 100% 126 10.1KB/s 00:00 %

En supposant que l'authentification est correcte, le fichier cible commencera immédiatement à se télécharger vers la destination cible, offrant un pourcentage d'achèvement, une vitesse de téléchargement et un temps de transfert écoulé au fur et à mesure du téléchargement du fichier.

Comme d'habitude avec la ligne de commande, il est important de spécifier la syntaxe exacte.

Si le fichier ou le chemin a un espace dans le nom, vous pouvez utiliser des guillemets ou des échappements sur le chemin comme ceci :

"

scp [email protected]:/un répertoire distant/filename.zip>"

scp peut également être utilisé pour placer un fichier en toute sécurité sur un serveur distant en ajustant également la syntaxe, mais nous nous concentrons sur le téléchargement d'un fichier plutôt que sur le téléchargement de fichiers ici.

Si vous débutez avec ssh et que vous le testez vous-même, et si vous ne vous êtes jamais connecté au serveur distant auparavant, il vous sera demandé de confirmer si vous souhaitez ou non vous connecter au serveur distant machine. Cela ressemble à cela et nécessite une réponse « oui » ou « non » avant le début du téléchargement. % scp [email protected]:filename.zip ~/Desktop/ L'authenticité de l'hôte '192.168.0.4 (192.168.0.4)' ne peut pas être établie. L'empreinte digitale de la clé ECDSA est SHA256:31WalRuSLR83HALK83AKJSAkj972JJA878NJHAH3780. Voulez-vous vraiment continuer à vous connecter (oui/non) ? oui Attention : Ajout permanent de '192.168.0.4' (ECDSA) à la liste des hôtes connus. Mot de passe : nomfichier.zip 100% 126 0.1KB/s 00:00 %

Encore une fois, en supposant que la connexion est approuvée et que la connexion est réussie, le fichier distant sera téléchargé du serveur cible vers l'hôte local.

Vous pouvez également utiliser scp pour télécharger plusieurs fichiers à partir d'un serveur distant :

scp user@host:/remote/path/\{file1.zip, file2.zip\} /Local/Path/

L'utilisation de ssh pour les téléchargements de fichiers à distance comme celui-ci est plus appropriée pour les transferts sécurisés qui nécessitent une authentification. Bien sûr, vous pouvez également télécharger des fichiers avec curl ou wget à partir de serveurs distants, mais les fichiers accessibles avec curl et wget ont tendance à être également accessibles depuis le monde extérieur, alors que ssh et scp nécessitent une authentification ou une clé et utilisent le cryptage 3DES, ce qui le rend considérablement plus sécurisé.

Comment télécharger un fichier depuis un serveur avec SSH / SCP