Introduction
Si vous souhaitez provisionner un serveur Ubuntu 14.04, vous devez suivre certaines étapes importantes pour le configurer correctement afin de le sécuriser et de le faire fonctionner pour l'usage auquel vous le destinez. Cet article vous guidera à travers ces étapes une par une, depuis l'explication de la première façon d'accéder à votre serveur jusqu'à la sécurisation de votre serveur avec des clés SSH et tout le reste.
Configurer les clés SSH
La configuration de la sécurité basée sur SSH pour accéder à votre serveur est un moyen beaucoup plus efficace que l'utilisation d'un mot de passe root manuel. Craquer le système de sécurité d'un VPS en fonction des clés SSH est presque impossible car il sécurise votre VPS de manière plus sophistiquée grâce à l'utilisation de clés codées.
Comment fonctionnent les clés SSH :
- Une paire de clés sera générée sur votre PC local.
- La génération d'une paire de clés vous fournit deux longues chaînes de caractères :une clé publique et une clé privée.
- La clé publique sera ajoutée à votre VPS.
- La paire de clés privées correspondante sera enregistrée sur votre PC local.
- Chaque fois que vous accédez à votre VPS, le système SSH recherche la paire de clés privées de la clé publique qui lui est ajoutée. Le système ne se déverrouillera que lorsque les deux clés correspondent.
- Vous pouvez également désactiver le mot de passe root une fois les clés SSH configurées.
Assurez-vous que vous ajoutez la clé publique aux serveurs et que la clé privée est enregistrée dans un emplacement sécurisé sur votre PC.
Suivez les étapes ci-dessous pour configurer les clés SSH :
Étape 1 :Créer la paire de clés RSA :
Ouvrez le Terminal sur votre PC
Saisissez la commande suivante dans le terminal :
ssh-keygen -t rsa
Étape 2 :enregistrez les clés et la phrase secrète
La commande de génération de clé ci-dessus sera suivie de quelques questions :
Enter file in which to save the key (/home/user/.ssh/id_rsa):
Vous pouvez appuyer sur Entrée, ce qui enregistrera les clés de l'accueil de l'utilisateur.
Enter passphrase (empty for no passphrase):
Dans cette étape, il vous sera demandé une phrase de passe pour protéger votre clé privée. Nous vous recommandons d'ajouter une phrase de passe puisque tout l'intérêt de la configuration de SSH est la sécurité. Vous devrez saisir la phrase secrète chaque fois que vous utiliserez la paire de clés.
Si vous ne souhaitez pas qu'une phrase de passe soit associée à votre clé privée, appuyez simplement sur Entrée en laissant le champ de la phrase de passe vide.
Cela terminera le processus de génération de clé :
ssh-keygen -t rsa Generating public/private rsa key pair. Enter file in which to save the key (/home/demo/.ssh/id_rsa): Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in /home/demo/.ssh/id_rsa. Your public key has been saved in /home/demo/.ssh/id_rsa.pub. The key fingerprint is: 4a:dd:0a:c6:35:4e:3f:ed:27:38:8c:74:44:4d:93:67 demo@a The key's randomart image is: +--[ RSA 2048]----+ | .oo. | | . o.E | | + . o | | . = = . | | = S = . | | o + = + | | . o + o . | | . o | | | +-----------------+
Dans l'exemple ci-dessus :
Emplacement de la clé privée : /home/demo/.ssh/id_rsa
Emplacement de la clé publique :/home/demo/.ssh/id_rsa.pub
Étape 3 :Copiez le Clé publique de votre VPS
Maintenant, vous pouvez ajouter votre clé publique au VPS sur lequel vous souhaitez configurer SSH.
Localisez la clé publique à l'aide de la commande suivante
cat ~/.ssh/id_rsa.pub
Copiez maintenant la clé publique depuis le terminal en sélectionnant la clé et en appuyant sur Ctrl+Maj+c. Collez maintenant la clé publique dans la zone Ajouter des clés SSH Mettre à jour la clé SSH fourni sur one.e2enetworks.com portail et cliquez sur Mettre à jour les clés SSH.
Pour votre information, voici à quoi ressemble une clé publique SSH.
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCviUTzL/IU709LbE2YhKzsgG90627HqTKOPJaqzWbxmk2rtDI5iymhY32RvTYot01uZONv+VuMjXZxcC0ev0Pz0ZOruEr6b+2B7dTywtWlRw7XpJznZt7AQKlAKWK4RVPxMuSsNP6jSD8h7SbelNIIpw+qnO7hhTkETu5AWEUEOuOQs4meFg1WJ/G5j43fmpXk22VjmctUiUKfVqNrTH6HbmklmYuX4DEE0x0Ekb8mHaI/cqO8MqAkgw99iGTMakYXO33RXRsu7Q/Ab93hQioE7PwXKyAXAyZe+vjL7YnHq7PvGnAPdVr1AJlUFSn7Vk7TLrGVq6nf3ua5G5WnY3Nb test@E2E-Networks
Connexion SSH en tant qu'utilisateur root
Pour vous connecter en tant qu'utilisateur root à votre serveur, utilisez la commande suivante. Remplacez server_ip_address par l'ip de votre serveur
ssh root@server_ip_address
racine est le nom d'utilisateur ou le compte qui, par défaut, a accès à toutes les commandes et tous les fichiers sur un système d'exploitation Linux ou un autre système d'exploitation de type Unix. Il est également appelé compte racine, utilisateur racine et superutilisateur.
Vous recevrez le message suivant lors de votre première connexion à votre serveur. Ce message ne s'affichera pas à partir de la prochaine connexion tant que la clé privée de l'hôte local n'aura pas été modifiée. Tapez oui et appuyez sur Entrée pour terminer le processus de connexion.
The authenticity of host '139.59.46.169 (139.59.46.169)' can't be established. ECDSA key fingerprint is SHA256:anOXWprBpD8Z4j/8d+MYOrhNb3wg9/I3Snd2Nhep7v4. Are you sure you want to continue connecting (yes/no)?
Le répertoire .ssh doit avoir 700 autorisations et le fichier authorized_keys doit avoir 400 ou 600 autorisations. Pour modifier les autorisations, utilisez les commandes suivantes :
$ cd $ mkdir .ssh && touch .ssh/authorized_keys $ chmod 700 .ssh/ && chmod 600 .ssh/authorized_keys $ cat id_rsa.pub >> .ssh/authorized_keys && rm id_rsa.pu
Création d'un nouvel utilisateur
Lorsque vous souhaitez créer un nouvel utilisateur autre que root pour vous connecter au serveur, utilisez la commande suivante
adduser test
Remplacez test par le nom d'utilisateur correspondant que vous souhaitez configurer. Maintenant que vous avez un nouveau compte d'utilisateur sur votre serveur avec des privilèges de compte normaux, vous devrez parfois effectuer des tâches administratives à partir de ce compte d'utilisateur. C'est donc une bonne option de fournir également des privilèges sudo à ce compte. Pour ce faire, exécutez simplement la commande suivante dans le terminal.
gpasswd -a test sudo
Vous devrez entrer un nouveau mot de passe pour ce nouvel utilisateur. Fournissez un nouveau mot de passe et retapez-le lorsque vous y êtes invité. Après cela, vous devrez entrer d'autres détails de base comme votre nom et votre numéro. Vous pouvez ignorer cette étape en appuyant sur Entrée ou bien vous pouvez donner vos coordonnées si vous le souhaitez.
Connexion SSH pour nouvel utilisateur
Étant donné que vous avez déjà généré et déployé une clé privée pour votre compte root, il est judicieux de sécuriser également votre nouveau compte utilisateur avec une clé SSH. Pour ce faire, déconnectez-vous du serveur en tant qu'utilisateur root et exécutez simplement la commande suivante dans le terminal, en remplaçant xxx.xx.xx.xx par l'adresse IP de votre serveur.
ssh-copy-id [email protected]
Vérifiez l'action entreprise en vous connectant comme suit
ssh [email protected]
Si la clé privée a été déployée correctement dans le nouveau compte du serveur, vous serez connecté sans qu'on vous demande le mot de passe.
Conclusion
La configuration de votre serveur de cette manière fournit une base solide et sécurisée pour l'utilisation prévue du serveur. Maintenant que votre serveur est opérationnel et accessible, vous pouvez désormais y déployer des données en toute tranquillité d'esprit en étant assuré de plus de sécurité que les serveurs protégés par mot de passe. Si vous souhaitez en savoir plus sur l'ajout de règles de pare-feu à votre serveur, consultez cet article.