# Créer et configurer une clé SSH sous Ubuntu

Il est facile de créer une paire de clés SSH sous [Ubuntu](https://www.ionos.fr/digitalguide/serveur/know-how/ubuntu-le-systeme-linux-pour-tous/), en passant par le terminal. Il vous suffit ensuite de transférer la clé publique à votre serveur, puis de profiter de la possibilité qui vous est offerte pour y établir une connexion sécurisée. Découvrez avec nous le détail des différentes étapes à suivre.

## Qu’est-ce qu’une clé SSH ?

Si vous souhaitez établir des connexions sécurisées à l’aide du protocole [SSH](https://www.ionos.fr/digitalguide/serveur/outils/protocole-ssh/), vous pouvez vous **authentifier** en utilisant des clés SSH et sans renseigner de mot de passe. Pour ce faire, vous avez besoin d’une paire de clés SSH, qui se compose d’une clé publique et d’une clé privée. La clé publique est destinée au système avec lequel vous souhaitez établir la connexion SSH en question ; il peut par exemple s’agir d’un serveur. La clé privée, quant à elle, doit bénéficier d’une protection particulière. Après sa création, elle est stockée côté client (chez vous) ; vous devez ensuite l’utiliser pour **déchiffrer** la clé SSH publique au moment d’établir la connexion.

Conseil Les clés SSH s’utilisent aujourd’hui avec un grand nombre de services. Depuis la fin de l’année 2021, le protocole SSH est d’ailleurs l’une des deux méthodes d’authentification disponibles pour accéder à la **ligne de commande dans GitHub**. Si vous souhaitez en savoir plus, consultez notre article intitulé « [Utilisation d’une clé SSH avec GitHub](https://www.ionos.fr/digitalguide/sites-internet/developpement-web/ssh-key-avec-github/) ».

## Créer et configurer une clé SSH sous Ubuntu : étape par étape

Vous souhaitez vous connecter de manière sécurisée à des serveurs ou à certains services, le tout sans avoir à renseigner de mot de passe ? Les paires de clés SSH sont la solution d’authentification qu’il vous faut. À l’aide des étapes décrites ci-dessous, découvrez avec nous un exemple basé sur Ubuntu 22.04 et apprenez à **générer des clés SSH sous Ubuntu** et à **les configurer pour vous authentifier sur un serveur**, afin d’[utiliser les clés SSH pour votre propre connexion réseau](https://www.ionos.fr/digitalguide/serveur/securite/generer-des-cles-ssh-pour-votre-connexion-reseau/).

Conseil Vous cherchez une solution sûre pour héberger vos fichiers ? N’attendez plus pour louer votre [serveur SFTP](https://www.ionos.fr/hebergement/serveur-ftp "Louer un serveur Secure FTP avec IONOS") avec IONOS pour transférer et stocker vos données en toute sécurité grâce aux protocoles SSH et FTP !

### Étape 1 : créer une paire de clés SSH

Vous pouvez générer rapidement des clés SSH sous Ubuntu : passez directement par le **terminal** pour créer à tout moment une paire composée d’une clé publique et d’une clé privée. Il vous suffit d’exécuter la ligne de commande d’Ubuntu avec la commande suivante :

```bash
ssh-keygen
```

Celle-ci permet de générer automatiquement une **paire de clés RSA avec un chiffrement de 3 072 bits**, largement suffisant pour la plupart des cas d’utilisation. Il est également possible de créer des clés plus grandes (de 4 096 bits) ; pour ce faire, ajoutez simplement le paramètre « -b 4096 » à votre commande.

```bash
ssh-keygen -b 4096
```

Une fois cette commande exécutée, Ubuntu génère une paire de clés. Le système vous demande alors si vous souhaitez enregistrer ces clés SSH sous le **répertoire utilisateur d’Ubuntu** (dans le sous-dossier */.ssh*) ; pour confirmer, appuyez sur la touche « Entrée ». Si cela ne vous convient pas, vous pouvez indiquer **un autre chemin**.

[![Image: Créer une clé SSH sous Ubuntu, depuis le terminal](https://www.ionos.fr/digitalguide/fileadmin/_processed_/4/9/csm_ubuntu-create-ssh-key_7c85ab0c5e.webp "Créer une clé SSH sous Ubuntu, depuis le terminal")](https://www.ionos.fr/digitalguide/fileadmin/DigitalGuide/Screenshots_2023/ubuntu-create-ssh-key.jpg) Créer une clé SSH sous Ubuntu, depuis le terminal. Une fois l’emplacement de votre paire de clés défini, Ubuntu vous demande de **définir une phrase secrète et sécurisée**. Cette phrase secrète permet d’ajouter un **niveau de sécurité supplémentaire** à votre méthode d’authentification chiffrée, et donc d’empêcher tout utilisateur non autorisé de se connecter. Entrez la phrase que vous souhaitez ou laissez ce champ vide si vous estimez ne pas avoir besoin de ce niveau de sécurité.

Quoi que vous décidiez, terminez cette action en appuyant sur la touche « Entrée ». Vous devriez normalement recevoir une « image randomart » individuelle de vos clés SSH ; celle-ci vous **confirme leur bonne création**.

[![Image: « Image randomart » d’une paire de clés SSH sous Ubuntu](https://www.ionos.fr/digitalguide/fileadmin/_processed_/1/2/csm_ubuntu-ssh-key-randomart-image_824ddd1030.webp "« Image randomart » d’une paire de clés SSH sous Ubuntu")](https://www.ionos.fr/digitalguide/fileadmin/DigitalGuide/Screenshots_2023/ubuntu-ssh-key-randomart-image.jpg) « Image randomart » d’une paire de clés SSH sous Ubuntu.  Conseil Vous ne savez pas sur quelle version du système vous travaillez actuellement ? Consultez l’article suivant pour découvrir comment [afficher votre version d’Ubuntu](https://www.ionos.fr/digitalguide/serveur/configuration/serveur-ftp-ubuntu-installation-et-configuration/).

### Étape 2 : transférer la clé publique au serveur

À cette étape, vous devez transférer la clé publique au système cible avec lequel vous prévoyez d’établir des connexions SSH sécurisées. Vous avez donc besoin du **nom d’utilisateur** que vous utilisez pour vous connecter à ce système, mais également de l’**adresse IP** ou du domaine de ce dernier. Vous n’avez pas encore de nom d’utilisateur ? Sachez qu’il est possible d’utiliser l’utilisateur « root » dans ce genre de cas.

Pour le transfert de la clé SSH publique, Ubuntu propose l’outil **ssh-copy-id** par défaut. La syntaxe de la commande correspondante est la suivante :

```bash
ssh-copy-id username@ip-adresse/domain
```

Lors de votre **première connexion** à l’hôte cible, le terminal renvoie un message précisant qu’il est impossible d’établir l’authentification de l’hôte (« Authenticity of host \[…\] can’t be established » en anglais). Tapez « **yes** » et confirmez votre entrée pour continuer votre configuration.

[![Image: Transfert de la clé SSH publique par l’intermédiaire du terminal Ubuntu](https://www.ionos.fr/digitalguide/fileadmin/_processed_/e/f/csm_ubuntu-add-public-key-terminal_d2f6b4af73.webp "Transfert de la clé SSH publique par l’intermédiaire du terminal Ubuntu")](https://www.ionos.fr/digitalguide/fileadmin/DigitalGuide/Screenshots_2023/ubuntu-add-public-key-terminal.jpg) Transfert de la clé SSH publique par l’intermédiaire du terminal Ubuntu. Le service va maintenant rechercher la clé que vous avez créée. S’il la trouve, vous pouvez poursuivre le processus. Pour ce faire, saisissez le mot de passe permettant la connexion au système cible. Vous marquez ainsi la fin de la configuration. Si la clé publique a bien été transférée, le service renvoie le **résultat** suivant :

[![Image: Clé SSH sous Ubuntu : transfert vers le système cible réussi](https://www.ionos.fr/digitalguide/fileadmin/_processed_/7/c/csm_ubuntu-ssh-key-successful-add_0db82eec57.webp "Clé SSH sous Ubuntu : transfert vers le système cible réussi")](https://www.ionos.fr/digitalguide/fileadmin/DigitalGuide/Screenshots_2023/ubuntu-ssh-key-successful-add.jpg) Clé SSH sous Ubuntu : transfert vers le système cible réussi. ### Étape 3 : procéder à l’authentification SSH au niveau de l’hôte cible

Vous pouvez désormais vous connecter à loisir sur l’appareil ou le serveur disposant de la clé publique à l’aide du protocole SSH. Comme pour le transfert de la clé, vous devez utiliser le **nom d’utilisateur** et l’**adresse IP ou le domaine de l’hôte cible**. Vous devez intégrer ceux-ci à votre commande, dans l’ordre suivant :

```bash
ssh username@ip-adresse/domain
```

Si vous avez défini une **phrase secrète pour la paire de clés**, celle-ci vous est alors demandée. Saisissez donc la phrase correspondante et sélectionnez « **Déverrouiller** » pour vous connecter au système cible.

[![Image: Clé SSH sous Ubuntu : phrase secrète à renseigner](https://www.ionos.fr/digitalguide/fileadmin/_processed_/8/1/csm_ubuntu-ssh-key-enter-password_9f173b569b.webp "Clé SSH sous Ubuntu : phrase secrète à renseigner")](https://www.ionos.fr/digitalguide/fileadmin/DigitalGuide/Screenshots_2023/ubuntu-ssh-key-enter-password.jpg) Clé SSH sous Ubuntu : phrase secrète à renseigner. ### Étape 4 : désactiver la saisie du mot de passe

Si vous avez réussi à vous connecter à l’aide de la paire de clés SSH, vous n’aurez plus besoin de recourir à la **connexion à l’aide d’un mot de passe**. En règle générale, cette procédure d’authentification reste toutefois active, ne serait-ce que pour les personnes non autorisées souhaitant accéder au système, notamment par l’intermédiaire d’une [attaque par force brute](https://www.ionos.fr/digitalguide/serveur/securite/attaque-par-force-brute-definition-et-mesures-de-protection/).

Pour plus de sécurité à cet égard, vous pouvez désactiver la connexion par mot de passe sur le serveur ou sur l’appareil cible. Pour ce faire, connectez-vous en utilisant le protocole SSH, puis ouvrez le **fichier de configuration su service SSH** :

```bash
sudo nano /etc/ssh/sshd_config
```

Dans le fichier de configuration, trouvez ensuite l’entrée « **PasswordAuthentication** » et réglez cette dernière sur « **no** ».

[![Image: Modification du fichier de configuration du service SSH](https://www.ionos.fr/digitalguide/fileadmin/_processed_/0/d/csm_ubuntu-ssh-service-config-file-change-passauth_8d9800b857.webp "Modification du fichier de configuration du service SSH")](https://www.ionos.fr/digitalguide/fileadmin/DigitalGuide/Screenshots_2023/ubuntu-ssh-service-config-file-change-passauth.jpg) Modification du fichier de configuration du service SSH. Enregistrez les modifications que vous avez apportées au fichier de configuration, puis redémarrez le service SSH en vous servant de la commande suivante :

```bash
sudo systemctl restart ssh
```

## Transférer manuellement une clé SSH sous Ubuntu

L’outil **ssh-copy-id**, donc il est question à l’étape 2, n’est pas disponible sur tous les systèmes. Si le vôtre est concerné, sachez qu’il est très facile de transférer **manuellement** la clé publique créée par vos soins vers le système cible.

Commencez par **afficher votre clé publique** en exécutant la commande suivante :

```bash
cat ~/.ssh/id_rsa.pub
```

[![Image: Génération de la clé SSH publique dans le terminal Ubuntu](https://www.ionos.fr/digitalguide/fileadmin/_processed_/7/a/csm_ubuntu-public-ssh-key-terminal_1c3cbebfc2.webp "Génération de la clé SSH publique dans le terminal Ubuntu")](https://www.ionos.fr/digitalguide/fileadmin/DigitalGuide/Screenshots_2023/ubuntu-public-ssh-key-terminal.jpg) Génération de la clé SSH publique dans le terminal Ubuntu. Maintenant, copiez cette clé dans le fichier « **authorized\_keys** » du répertoire « **ssh** » de l’hôte cible. Si ce répertoire n’existe pas encore, vous devez le créer en faisant appel à la commande suivante :

```bash
mkdir -p ~/.ssh
```

Pour le transfert de la clé, il vous suffit ensuite de lancer cette commande :

```bash
echo clé >> ~/.ssh/authorized_keys
```

Dans cette commande, remplacez « clé » par le résultat obtenu précédemment, en commençant par « ssh-rsa ».

Enfin, veillez à supprimer toutes les habilitations des groupes et autres autorisations pour le répertoire « ssh » et le fichier « authorized\_keys ».

```bash
chmod -R go= ~/.ssh
```

Conseil Pour plus d’informations sur le protocole SSH et le système d’exploitation Ubuntu, consultez les articles suivants issus de notre guide numérique :

- [Activer le protocole SSH sous Ubuntu](https://www.ionos.fr/digitalguide/serveur/configuration/ubuntu-ssh/)
- [Utiliser Raspberry Pi en tant que serveur SSH](https://www.ionos.fr/digitalguide/serveur/configuration/raspberry-pi-activer-le-serveur-ssh/)
- [Installer Ubuntu à partir d’une clé USB](https://www.ionos.fr/digitalguide/serveur/outils/comment-installer-ubuntu-avec-usb/)
- [Serveur FTP Ubuntu](https://www.ionos.fr/digitalguide/serveur/configuration/serveur-ftp-ubuntu-installation-et-configuration/)


This is a markdown version of: [https://www.ionos.fr/digitalguide/serveur/configuration/cle-ssh-sous-ubuntu/](https://www.ionos.fr/digitalguide/serveur/configuration/cle-ssh-sous-ubuntu/) for AI/LLM consumption.