# Agent SSH

L'application de bureau Bitwarden Password Manager peut agir en tant qu'agent SSH pour crypter et stocker en toute sécurité vos clés SSH (Secure Shell) à utiliser avec :

- Authentification auprès des serveurs
- Signer les commits Git
- Interagir avec les services basés sur SSH

L'agent SSH Bitwarden organise et protège vos clés dans un emplacement sécurisé. Les clés SSH sont accessibles via l'application de bureau, l'application web, l'extension de navigateur et l'application mobile. Les clés SSH peuvent être générées à l'aide de l'application de bureau, de l'application web et de l'extension de navigateur.

> [!NOTE] SSH agent availability
> L'agent SSH nécessite la version 2025.1.2 ou une version plus récente.

## Stocker une clé SSH

De nouvelles clés SSH peuvent être créées et sauvegardées dans l'application de bureau Bitwarden. Les clés SSH Bitwarden seront stockées :

| Champ | Description |
|------|------|
| Nom de la clé | Le nom de votre clé SSH. |
| Clé privée | La clé privée est une donnée sensible qui sera utilisée par le serveur pour faciliter la connexion sécurisée. Les données relatives aux clés privées doivent être traitées avec soin et conservées en toute sécurité. Les utilisateurs peuvent utiliser Bitwarden pour générer une clé privée unique et sécurisée. |
| Clé publique | Partie de la clé partagée avec le serveur auquel vous allez vous connecter. |
| Empreinte | Une courte chaîne unique générée à partir de la clé publique pour l'identification. Par exemple, les commits git signés SSH peuvent être vérifiés à l'aide de l'empreinte digitale. |

Les clés SSH stockées dans le gestionnaire de mots de passe Bitwarden auront accès aux fonctionnalités de Bitwarden telles que les [dossiers](https://bitwarden.com/fr-fr/help/folders/), les [favoris](https://bitwarden.com/fr-fr/help/favorites/), le [rappel du mot de passe principal](https://bitwarden.com/fr-fr/help/managing-items/#protect-individual-items/), les notes, le [clonage d'éléments](https://bitwarden.com/fr-fr/help/managing-items/#clone/), les [pièces jointes](https://bitwarden.com/fr-fr/help/attachments/) et les [champs personnalisés](https://bitwarden.com/fr-fr/help/custom-fields/).

## Créer une nouvelle clé SSH

Créez une nouvelle clé SSH à l'aide de l'application de bureau Bitwarden, de l'application web ou de l'extension de navigateur. Une fois créées, les clés SSH stockées dans Bitwarden sont accessibles depuis l'application de bureau, l'application web, l'extension de navigateur et les applications mobiles.

1. Sélectionnez le bouton **Nouveau** et choisissez **Clé SSH** comme type d'élément :

![Créer une nouvelle clé SSH sur le bureau](https://bitwarden.com/assets/1XYC3HwXOTMAPvyW1GS3Mk/82a46735327f9085d9380fbb8053b161/new_ssh_key-curent_ui.png)
*Créer une nouvelle clé SSH sur le bureau*

> [!NOTE] Create SSH key only ED25519
> Actuellement, Bitwarden ne peut générer que des clés SSH de type `ED25519`.
2. Remplissez les détails restants tels que le **nom** et sélectionnez l'icône [save-changes]Enregistrer une fois que vous avez terminé.

### Clés SSH d'organisation

Les clés SSH peuvent être créées et stockées dans une collection d'organisation. Les membres de l'organisation disposant des autorisations appropriées peuvent créer, gérer et accéder aux clés SSH appartenant à l'organisation. Pour en savoir plus sur les autorisations de collection, cliquez [ici](https://bitwarden.com/fr-fr/help/collection-permissions/).

Pour ajouter une nouvelle clé SSH partagée au coffre-fort de l'organisation :

1. Dans la vue Coffre-fort du bureau ou de l'application Web, cliquez sur le bouton + **Nouveau** et sélectionnez **Clé SSH**.

> [!TIP] Can also be done from Admin Console
> [Les propriétaires d’organisation, les administrateurs et certains utilisateurs personnalisés](https://bitwarden.com/fr-fr/help/user-types-access-control/) peuvent également effectuer cette étape directement depuis la **console d’administration** pour ignorer certaines étapes de ce processus.
2. Dans le menu déroulant **Propriétaire**, choisissez l'organisation à laquelle cet élément doit appartenir.
3. Dans la liste déroulante **Collections**, choisissez la ou les collections avec lesquelles vous souhaitez partager cet élément.

![Partager une clé SSH](https://bitwarden.com/assets/1YnrhzwCw78KuFsArEioOO/76dceaa53917a8078b1e96f0fcbb5f65/2026-04-23_12-36-17.png)
*Partager une clé SSH*

> [!NOTE] SSH key sharing best practices
> En général, les ressources qui utilisent des clés SSH peuvent prendre en charge des clés par utilisateur. Nous vous recommandons de consulter les meilleures pratiques en matière de clés SSH avant de partager des clés SSH avec une organisation.

### Modifier les clés existantes

Une fois qu'une clé SSH a été enregistrée dans votre coffre-fort Bitwarden, vous pouvez modifier certains champs de la clé tels que le nom, le propriétaire, le dossier et les champs personnalisés :

### Ordinateur

Pour éditer les clés SSH sur l'application de bureau Bitwarden :

1. Ouvrez l'application de bureau Bitwarden et naviguez vers les clés SSH.
2. Localisez la clé SSH que vous souhaitez modifier et sélectionnez[pencil] **Modifier**.
3. Une fois que vous avez effectué les modifications souhaitées, sélectionnez[save-changes] **Enregistrer**.

### Application web

Pour éditer les clés SSH sur l'application web Bitwarden :

1. Ouvrez l'application web Bitwarden et naviguez vers les clés SSH.
2. Localisez et sélectionnez la clé SSH que vous souhaitez modifier. Une boîte de dialogue apparaît à l'écran, puis sélectionnez **Modifier**.
3. Une fois que vous avez effectué les modifications souhaitées, sélectionnez **Enregistrer**.

### Mobile

Pour éditer des clés SSH sur l'application mobile Bitwarden :

1. Ouvrez l'application mobile Bitwarden et naviguez vers les clés SSH.
2. Localisez la clé SSH que vous souhaitez modifier et sélectionnez **Modifier**.
3. Une fois que vous avez effectué les modifications souhaitées, sélectionnez **Enregistrer**.

### Extension de navigateur

Pour modifier les clés SSH sur l'extension de navigateur Bitwarden :

1. Ouvrez l'extension de navigateur Bitwarden et naviguez vers les clés SSH.
2. Localisez et sélectionnez la clé SSH que vous souhaitez modifier. Une boîte de dialogue apparaît à l'écran, puis sélectionnez **Modifier**.
3. Une fois que vous avez effectué les modifications souhaitées, sélectionnez **Enregistrer**.

## Importer une clé dans Bitwarden

La fonction d'importation des clés SSH est disponible dans l'application de bureau Bitwarden. En utilisant l'application de bureau Bitwarden :

1. Sélectionnez le bouton **Nouveau** et choisissez **Clé SSH** comme type d'élément.
2. Copiez la clé SSH existante que vous souhaitez importer dans Bitwarden.
3. Utilisez l'icône **Importer une clé depuis le presse-papiers**. Cela collera automatiquement la clé SSH dans Bitwarden.

 - Pour l'instant, les clés importées doivent être au format **OpenSSH** ou **PKCS#8**.

![Importer une clé SSH](https://bitwarden.com/assets/5QTvyu39h3o0azkjU26P3t/c4987845f91b73efadaa8165f25b4524/Import.png)
*Importer une clé SSH*

> [!NOTE] import SSH must be in OpenSSH format
> Pour le moment, les clés SSH importées depuis Putty ne sont pas compatibles.

## Configurer l'agent SSH Bitwarden

Afin d'utiliser Bitwarden comme agent SSH principal, vous devrez configurer votre client SSH pour qu'il communique avec Bitwarden pour l'authentification.

### Windows

Pour activer l'agent Bitwarden SSH sous Windows, vous devez désactiver le service OpenSSH sur votre machine Windows. Pour désactiver OpenSSH :

1. Sur votre machine Windows, naviguez vers **Services → OpenSSH Authentication Agent**. Les services peuvent être localisés à l'aide de la barre de recherche de Windows.

![Panneau des services Windows](https://bitwarden.com/assets/77fTJpxIBH5ikJYQW1KFL7/0c6fa3b9f68f7a85569ad6ede489979e/openSSH_agent.png)
2. Une fois que vous avez ouvert la fenêtre Propriétés de l'agent d'authentification OpenSSH, réglez le paramètre **Type de démarrage** sur **Désactivé**.

![Désactiver OpenSSH Windows](https://bitwarden.com/assets/6Ghl3WkroGhoyy4fUMDbCg/800780f201fff9d6dc2de3d6577587ac/Screenshot_2024-12-04_142322.png)
3. Une fois les paramètres ajustés, sélectionnez **Appliquer** puis **OK**.

### macOS

#### macOS store

Activer l'agent Bitwarden SSH sur macOS store download :

1. Configurez la variable `SSH_AUTH_SOCK` pour qu'elle pointe vers le socket de l'agent SSH Bitwarden. L'exemple suivant montre comment procéder après avoir remplacé `` par votre nom d'utilisateur :

```plain text
export SSH_AUTH_SOCK=/Users/<user>/Library/Containers/com.bitwarden.desktop/Data/.bitwarden-ssh-agent.sock
```

#### .dmg download

Activer l'agent Bitwarden SSH sur macOS .dmg download :

1. Configurez la variable `SSH_AUTH_SOCK` pour qu'elle pointe vers le socket de l'agent SSH Bitwarden. L'exemple suivant montre comment procéder après avoir remplacé `` par votre nom d'utilisateur :

```bash
export SSH_AUTH_SOCK=/Users/<user>/.bitwarden-ssh-agent.sock
```
2. Alternativement, configurez `SSH_AUTH_SOCKET` :

```plain text
launchctl setenv "SSH_AUTH_SOCKET" "/Users/<user>/.bitwarden-ssh-agent.sock"
```

> [!NOTE] launchctl require terminal restart
> Il se peut que vous deviez redémarrer le terminal après avoir utilisé la commande `launchctl`.

#### Configuration du shell

1. Accédez à votre fichier `.bashrc` ou `.zshrc` :

```plain text
nano ~/.bashrc
nano ~/.zshrc
```
2. Définissez la variable d'environnement dans le fichier `.bashrc` ou `.zshrc` :

```plain text
export SSH_AUTH_SOCK=/Users/<user>/.bitwarden-ssh-agent.sock
```

### Linux

Activer l'agent Bitwarden SSH sur Linux :

1. Configurez la variable `SSH_AUTH_SOCK` pour qu'elle pointe vers le socket de l'agent Bitwarden SSH. L'exemple suivant montre comment procéder après avoir remplacé `` par votre nom d'utilisateur :

```plain text
export SSH_AUTH_SOCK=/home/<user>/.bitwarden-ssh-agent.sock
```

#### Configuration du shell

1. Accédez à votre fichier `.bashrc` ou `.zshrc` :

```plain text
nano ~/.bashrc
nano ~/.zshrc
```
2. Définissez la variable d'environnement dans le fichier `.bashrc` ou `.zshrc` :

```plain text
export SSH_AUTH_SOCK=/home/<user>/.bitwarden-ssh-agent.sock
```

#### Snap et Flatpak

Activez l'agent Bitwarden SSH sur les installations snap ou Flatpak :

1. Configurez la variable `SSH_AUTH_SOCK` pour qu'elle pointe vers le socket de l'agent SSH Bitwarden. L'exemple suivant montre comment procéder après avoir remplacé `` par votre nom d'utilisateur :

```plain text
# Snap
export SSH_AUTH_SOCK=/home/<user>/snap/bitwarden/current/.bitwarden-ssh-agent.sock

# Flatpak
export SSH_AUTH_SOCK=/home/<user>/.var/app/com.bitwarden.desktop/data/.bitwarden-ssh-agent.sock
```

## Activer l'agent SSH

Pour activer l'agent SSH sur votre application de bureau Bitwarden, naviguez vers **Paramètres** et **Activer l'agent SSH**. 

![Activer le stockage SSH sur le client de bureau](https://bitwarden.com/assets/7Fx7AnfIPXmiJpHq1lFhTx/d151287d040a69dcb52d36fc6a4593b9/Enable_SSH_agent_updated.png)

Après avoir activé l'agent SSH, vous pouvez également ajuster le paramètre **Demander une autorisation lors de l'utilisation de l'agent SSH**. Ce paramètre déterminera quand Bitwarden vous demandera d'autoriser l'accès à une clé SSH :

![Autoriser l'utilisation de la clé SSH](https://bitwarden.com/assets/7M0oE4BXZWiTpub3Vqwfpp/803eabf2073b2035266469c6c2d4ead8/2025-05-22_09-00-17.png)

- Toujours
- Jamais
- Se souvenir jusqu'à ce que le coffre-fort soit verrouillé

**Toujours** sera sélectionné par défaut.

## Test des clés SSH

Une fois que l'agent SSH a été configuré pour Bitwarden, nous pouvons tester la configuration en demandant une liste SSH :

```plain text
ssh-add -L
```

Cela renverra une liste des clés SSH enregistrées dans votre client de bureau Bitwarden.

> [!NOTE] SSH key lock vault behavior
> Lors de l'accès à une clé SSH, le comportement de Bitwarden diffère en fonction du statut verrouillé ou déverrouillé du client.
> 
> - **Coffre verrouillé** : Si votre coffre-fort Bitwarden est verrouillé, Bitwarden vous demandera automatiquement de déverrouiller votre coffre-fort afin d'accéder à la clé SSH.
> - **Coffre-fort déverrouillé** : Si le coffre-fort du bureau est déverrouillé, vous serez invité à confirmer l'utilisation de la clé SSH.

### Utiliser une clé SSH pour s'authentifier avec Git

SSH peut être utilisé pour s'authentifier avec Git. L'agent SSH Bitwarden peut ajouter de la sécurité et de la facilité d'utilisation à vos flux de travail Git. Dans cet exemple, l'agent SSH Bitwarden s'authentifiera auprès de GitHub.

1. Sur votre compte GitHub, configurez une clé SSH en naviguant vers **Paramètres**, **Clés SSH et GPG**, puis sélectionnez **Nouvelle clé SSH**.
2. Sur l'écran d'ajout d'une nouvelle clé SSH, ajoutez un **nom** et sélectionnez un **type de clé.** Choisissez `Authentication Key` (Clé d'authentification). Copiez et collez la**clé publique** de votre coffre-fort Bitwarden dans le champ **Clé** sur GitHub.

![Créer une nouvelle clé GitHub ](https://bitwarden.com/assets/1bZWyhzPtdpdhoDM6GNYdz/3c326b32d15d134ff7532a57041ceff4/2025-02-12_11-26-35.png)
3. Une fois que vous avez rempli tous les champs, sélectionnez **Ajouter une clé SSH** pour enregistrer la clé. GitHub vous demandera de vérifier votre compte GitHub avant d'enregistrer la clé.
4. Testez la clé SSH de GitHub dans votre terminal, par exemple si vous utilisez macOS :

```plain text
ssh -T git@github.com
```
5. En cas de succès, Bitwarden vous demandera de vérifier la demande d'accès. Sélectionnez **Autoriser** pour confirmer. En cas de succès, vous recevrez un message confirmant la tentative d'authentification :

```plain text
Hi <USER>! You've successfully authenticated, but GitHub does not provide shell access.
```

## S'authentifier avec les dépôts git

Utilisez l'agent SSH Bitwarden pour signer les commits SSH Git. Avant d'utiliser l'agent SSH Bitwarden pour signer des commits Git, votre système doit être configuré de la manière suivante :

- Git version 2.34 ou plus récente. Vérifiez votre version de Git avec :

```plain text
git --version
```
- OpenSSH version 8.8 ou plus récente. Vérifier la version avec :

```plain text
ssh -V
```
- Client de bureau Bitwarden avec l'agent SSH activé.

### Configurer Git pour la signature SSH

Configurez votre environnement Git pour qu'il pointe vers votre clé SSH pour la signature. Pour ce faire, vous pouvez définir des variables globales ou établir les instructions dans votre fichier `.gitconfig`.

#### Définir des variables globales

Pour configurer les paramètres de Git à l'aide de variables `--globales` :

1. Configurer Git pour qu'il utilise SSH pour la signature :

```plain text
git config --global gpg.format ssh
```
2. Indiquez la clé SSH à utiliser comme clé de signature. Pour utiliser l'agent SSH Bitwarden, remplacez `<Votre_clé_publique> `par la clé publique copiée à partir de la clé SSH enregistrée dans votre coffre-fort Bitwarden.

```plain text
git config --global user.signingkey "<YOUR_PUBLIC_KEY>"
```
3. Activer la signature automatique des livraisons.

```plain text
git config --global commit.gpgsign true
```

#### Définir le fichier `.gitconfig`

Pour configurer Git à l'aide d'un fichier `.gitconfig` :

1. Accédez à `.gitconfig` avec votre éditeur de texte préféré :

```plain text
nano ~/.gitconfig
```
2. Ajoutez les configurations suivantes :

```bash
[gpg]
 format = ssh
[user]
 signingkey = "<YOUR_PUBLIC_KEY>"
 name = <USER_NAME>
 email = <USER_EMAIL>
[commit]
 gpgsign = true
```

> [!NOTE] windows git signing
> Pour les utilisateurs de Windows :
> 
> 1. Ajoutez la variable `core.sshCommand` à votre configuration Git pour utiliser Microsoft OpenSSH :
> 
> 
> 
> ```plain text
> git config --global core.sshCommand "C:/Windows/System32/OpenSSH/ssh.exe"
> ```
> 
> Vous pouvez également définir la variable dans votre fichier `.gitconfig` :
> 
> 
> ```plain text
> [core]
> sshCommand = C:/Windows/System32/OpenSSH/ssh.exe
> ```
> 2. Ensuite, il vous sera peut-être demandé de définir le paramètre `gpg.ssh.program` :
> 
> 
> 
> ```plain text
> git config --global gpg.ssh.program "C:/Windows/System32/OpenSSH/ssh-keygen.exe"
> ```

### Signer des commits Git

L'utilisation de SSH pour s'authentifier avec Git peut ajouter de la sécurité et de la facilité d'utilisation à votre flux de travail. De même, les clés SSH stockées dans Bitwarden peuvent être utilisées pour signer et vérifier les commits Git à l'aide du protocole SSH. Dans cet exemple, l'agent SSH Bitwarden sera utilisé pour signer les commits Git sur GitHub.

1. Sur votre compte GitHub, configurez une clé de signature SSH en naviguant vers **Paramètres**, **Clés SSH et GPG**, puis sélectionnez **Nouvelle clé SSH**.
2. Sur l'écran d'ajout d'une nouvelle clé SSH, ajoutez un **nom** et sélectionnez un **type de clé**, choisissez `Signing Key` (Clé de signature). Copiez et collez la**clé publique** de votre coffre-fort Bitwarden dans le champ **Clé** sur GitHub.
3. Configurez git pour utiliser le fichier `allowedSignersFile` avec la commande suivante :

```plain text
git config --global gpg.ssh.allowedSignersFile "$HOME/.ssh/allowed_signers"
```
4. Ajoutez votre clé publique au fichier allowedSignersFile :

```bash
# Create allowed_signers file 
touch ~/.ssh/allowed_signers

# Edit the allowed_signers file and add a line for your public key pair you wish to trust, for example:
 User1@Bitwarden.com ssh-ed25519 <Your_Public_Key>
```
5. Utilisez la clé SSH pour cloner votre dépôt avec la méthode SSH :

![Clone SSH](https://bitwarden.com/assets/76Snkd9TQMrVMmegeJRqK/21836de7c7500b9ebdabaeb1d17b9659/2025-02-12_17-16-13.png)

```plain text
git clone git@github.com:<USER>/<repository>.git
```
6. Créez le commit Git à l'aide du terminal ou de votre éditeur de texte préféré :

```plain text
git commit -m "This commit is signed using SSH"
```
7. Bitwarden vous demandera d'autoriser l'utilisation de la clé :

![Autoriser SSH avec le client](https://bitwarden.com/assets/0aGz4U3YpB63EHRWVU2YY/d7e7883eb93065205226df80ffebde7c/github_auth_key.png)
*Autoriser SSH avec le client*
8. Une fois l'autorisation obtenue, la clé SSH sera initiée pour approuver le commit. Vous pouvez maintenant pousser le commit :

```plain text
git push
```
9. Vous pouvez vérifier votre livraison sur Github en naviguant vers GitHub commits :

![Vérifier le commit dans GitHub](https://bitwarden.com/assets/1PR4Sss3Pvf3anlau5AlgC/ecfdb02b50fb83f59a21ebc7ed550042/2025-02-12_14-51-41.png)

## SSH Agent forwarding

SSH agent forwarding permet à un serveur distant auquel vous accédez de s'authentifier auprès d'autres serveurs à l'aide de vos clés, sans exposer vos clés privées en dehors de votre coffre-fort. Le serveur auquel vous êtes connecté peut demander à votre instance Bitwarden locale de s'authentifier auprès du serveur distant. Dans cet exemple, nous allons démontrer le transfert de fichiers entre serveurs :

1. Pour commencer, assurez-vous que l'agent SSH a été activé sur votre application de bureau Bitwarden en naviguant vers **Paramètres** et **Activer l'agent SSH** :

![Activer le stockage SSH sur le client de bureau](https://bitwarden.com/assets/7Fx7AnfIPXmiJpHq1lFhTx/d151287d040a69dcb52d36fc6a4593b9/Enable_SSH_agent_updated.png)
2. Créez une nouvelle clé SSH ou importez une clé SSH existante dans votre application de bureau Bitwarden.
3. Activez la redirection de l'agent en ouvrant une connexion avec le serveur vers lequel vous souhaitez envoyer des fichiers :

```plain text
ssh -A <HostnameA>
```
4. Envoyez un fichier au serveur :

```plain text
rsync -avzP ./TEST.txt <USER>@<HostnameB>:/home/<USER>/test.txt
```
5. Bitwarden vous demandera d'approuver l'accès à la clé SSH. Cela montrera que la clé SSH a été demandée et utilisée pour terminer le transfert de fichiers.

![Confirm SSH Agent Forwarding](https://bitwarden.com/assets/26n37qx0HKJ47ZdAzP2UFw/611025ed1513d6441acc4fecf547e12e/395218105-683d4ead-1f7e-46b3-8799-7591a74952af.png)