Secure copy
Secure copy (SCP) désigne un transfert sécurisé de fichiers entre deux ordinateurs utilisant le protocole de communication SSH. Le terme SCP désigne aussi bien le programme scp que le protocole scp.
Protocole SCP
[modifier | modifier le code]Le protocole SCP est basé sur le protocole BSD RCP. À la différence de ce dernier, les données sont chiffrées lors du transfert pour éviter les extractions d'informations utilisables provenant de paquets de données sniffés. Le protocole ne fournit pas lui-même l'authentification et la sécurité nécessaires au transfert, il s'appuie pour cela sur le protocole sous-jacent SSH.
SCP peut demander à l'utilisateur tout mot de passe nécessaire à l'établissement d'une connexion distante, alors que RCP échoue dans cette situation.
Le protocole SCP implémente uniquement le transfert de fichiers. Pour cela, une connexion est établie en utilisant SSH, puis un serveur SCP est lancé. Le programme serveur est le même que le programme client.
Lors d'un téléversement, le client envoie au serveur les fichiers à téléverser en comprenant éventuellement leurs attributs de base (permissions, horodatage). C'est un avantage par rapport au protocole FTP, qui ne prévoit pas d'inclure les attributs lors d'un téléchargement.
Lors d'un téléchargement descendant, le client envoie une requête pour obtenir les fichiers et dossiers à télécharger. Le serveur alimente ensuite le client en incluant le cas échéant les sous-répertoires. Le téléchargement étant piloté par le serveur, il existe un risque de sécurité une fois connecté à un serveur malveillant.
Dans la plupart des applications, le protocole SCP est supplanté par le protocole SFTP lui aussi fondé sur SSH.
Syntaxe
[modifier | modifier le code]La syntaxe de la commande scp est semblable aux commandes cp et ssh.
Pour copier un fichier sur le serveur :
scp FichierSource utilisateur@serveur:Repertoire/FichierCible
Pour copier un fichier et un répertoire (avec l'argument -r) depuis le serveur :
scp utilisateur@serveur:Repertoire/FichierSource FichierCible scp -r utilisateur@serveur:Repertoire/RepertoireSource RepertoireCible