# [SSH] Copie de fichier

## Introduction

Le protocole SSH prends en charge le transfert de fichiers via **SCP** ou **SFTP**.

## SCP

Bien que cette commande soit dépréciée, elle est simple d'utilisation et fonctionne parfaitement pour transférer un fichier rapidement d'une machine à l'autre. Le tout dans un tunnel SSH qui est sécurisé car chiffré.

#### Syntaxe globale

```bash
scp [OPTION] <SOURCE> <DESTINATION>
```

#### Téléchargement d'un fichier

```bash
scp <USER>@<IP>:<REMOTE_FILE_PATH> .
```

<p class="callout info">Le caractère **.** symbolise que le fichier va être copié dans le répertoire courant mais il est tout à fait possible de spécifier un chemin à la place et même un nouveau nom (comme pour la commande cp).</p>

#### Envoi de fichier

```bash
scp <FILE_TO_SEND> <USER>@<IP>:<DESTINATION_FILE_PATH>
```

## SFTP

Le protocole **SFTP** est équivalent au protocole FTP mais fonctionnant dans un tunnel SSH ce qui chiffre la connexion.

<p class="callout warning">Le protocole SFTP n'est pas le même protocole que FTPS qui est l'équivalent du FTP + SSL.</p>

#### Syntaxe globale

La syntaxe est similaire à la commande ssh qui permet de se connecter à un hôte distant :

```bash
sftp <USER>@<IP>
```

#### Quelques commandes  


Une fois dans le shell sftp, les commandes disponibles sont les mêmes que la commandes FTP :

<table border="1" id="bkmrk-options-descriptions" style="border-collapse: collapse; width: 100%;"><colgroup><col style="width: 50%;"></col><col style="width: 50%;"></col></colgroup><tbody><tr><td class="align-center">**Options**  
</td><td class="align-center">**Descriptions**  
</td></tr><tr><td class="align-center">put &lt;FILE&gt;  
</td><td class="align-center">Permet d'envoyer un fichier sur le serveur distant.  
</td></tr><tr><td class="align-center">get &lt;FILE&gt;  
</td><td class="align-center">Permet de récupérer un fichier depuis le serveur distant.</td></tr></tbody></table>