Comment configurer autorisé_keys de SSH sur Ubuntu

Comment configurer autorisé_keys de SSH sur Ubuntu
SSH ou Secure Shell est conçu pour accéder au contenu de l'hôte distant pour effectuer différents types de tâches à distance. SSH n'est pas installé sur Ubuntu par défaut. Le SSH peut fournir un accès chiffré à mot de passe au système distant après l'installation. Le serveur SSH s'exécute sur l'hôte distant et le client SSH s'exécute sur le système qui établira la connexion distante. Le autorisé_keys Le fichier est la partie la plus importante de la connexion SSH. Il spécifie les clés utilisées pour authentifier les utilisateurs autorisés à se connecter à l'hôte distant en utilisant l'authentification de la clé publique. Les utilisations de ce fichier pour la connexion SSH ont expliqué dans ce tutoriel.

Conditions préalables

Le serveur SSH n'est pas installé sur Ubuntu par défaut. Vous devez installer le package OpenSSH qui fonctionnera comme un serveur SSH avant de démarrer ce tutoriel. Exécutez la commande suivante pour installer le serveur OpenSSH s'il n'est pas installé dans le système avant.

$ sudo apt install openssh-server

Générer une clé SSH

Générer les paires de clés ssh pour exécuter les commandes du serveur distant. Exécutez la commande suivante pour créer la clé publique et la clé privée. La clé privée sera stockée dans le serveur distant et les clés publiques seront stockées dans le client en toute sécurité.

$ ssh-keygen -t rsa

Après avoir exécuté la commande ci-dessus, il demandera au nom du fichier où la clé sera stockée. appuie sur le Entrer clé pour garder le nom de fichier par défaut de la clé publique qui est id_rsa.pub. Ensuite, il demandera le mot de passe pour se connecter. Encore une fois, appuyez sur le Entrer Key deux fois si vous souhaitez garder le mot de passe vide. La sortie similaire suivante apparaîtra après avoir généré les clés.

Créer le fichier autorisé_keys

id_rsa.Le fichier Pub contient la clé publique de la connexion SSH stockée dans le ~ /.ssh / dossier de l'hôte distant. La machine client exigera également que la clé publique se connecte avec l'hôte distant copié dans la prochaine partie du tutoriel. Vous devez créer le fichier nommé autorisé_keys à l'intérieur du ~ /.dossier ssh de l'hôte distant qui contiendra la clé publique. Exécutez la commande suivante pour déplacer l'ID_RSA.fichier pub au ~ /.fichier ssh / autorisé_keys.

$ mv ~ /.ssh / id_rsa.pub ~ /.SSH / AUTORISED_KEYS

Aucune erreur n'apparaît si le fichier est déplacé correctement, comme l'image suivante.

Modifier le fichier de configuration

Vous devez définir certains paramètres de configuration dans la machine du serveur pour établir la connexion SSH sans aucun mot de passe. Exécutez la commande suivante pour ouvrir le fichier sshd_config à l'aide de Nano Editor pour définir les valeurs de paramètre nécessaires.

$ sudo nano / etc / ssh / sshd_config

Définissez la valeur de PasswordAuthentication sur NO pour désactiver l'option de mot de passe du texte pour la connexion SSH.

PasswordAuthentication Non

Enregistrez et fermez le fichier. Exécutez la commande suivante pour redémarrer le service SSH.

$ sudo systemctl redémarrer ssh

Exécutez la commande suivante pour définir les bits d'autorisation pour le fichier autorisé_keys afin d'éviter l'accès non autorisé de ce fichier.

$ chmod 600 ~ /.SSH / AUTORISED_KEYS

Copiez la clé publique dans la machine client

Maintenant, connectez-vous à la machine client d'où vous exécuterez la commande SSH pour établir une connexion SSH avec l'hôte distant. Ici, deux comptes d'utilisateurs d'Ubuntu ont été utilisés pour vérifier la connexion SSH dans le serveur local. Un compte d'utilisateur a été utilisé comme client, et un autre compte d'utilisateur a été utilisé comme serveur dans ce tutoriel.

Exécutez la commande suivante pour créer un dossier nommé ~ /.ssh dans la machine client s'il n'existe pas.

$ mkdir ~ /.ssh

Exécutez la commande suivante pour copier la clé publique de l'hôte distant vers le ~ /.dossier ssh du client.

$ SCP Fahmida @ Fahmida-VirtualBox: / Home / Fahmida /.ssh / id_rsa ~ /.ssh /

Vous devez fournir le mot de passe du nom d'utilisateur de l'hôte distant pour copier la clé publique de la machine client. Vous obtiendrez la sortie suivante si le fichier est copié correctement. La machine client est maintenant prête à établir la connexion avec la machine du serveur à l'aide du service SSH.

Connexion à la machine du serveur à l'aide de SSH sans mot de passe

Maintenant, la clé publique existe dans les machines client et serveur. Lorsque la machine client envoie la demande de connexion à la machine du serveur à l'aide de la commande SSH, le serveur correspondra à la clé publique du client avec la clé publique du serveur. Si les correspondances sont trouvées, la connexion sera établie du client vers le serveur. Vous pouvez vous connecter au serveur ou à l'hôte distant en utilisant le nom d'hôte ou l'adresse IP. Le serveur local a utilisé ce didacticiel pour afficher l'utilisation de l'Autorized_keys pour établir la connexion SSH de la machine client à la machine du serveur. Un compte a été utilisé comme machine de serveur où le serveur OpenSSH est installé, et un autre compte a été utilisé comme machine client ici. Exécutez la commande suivante à partir de la machine client pour établir une connexion avec la machine du serveur.

$ ssh Fahmida @ Fahmida-VirtualBox

La sortie suivante apparaîtra après avoir exécuté la commande ci-dessus. La sortie montre que le nom d'utilisateur de la machine client est 'yesmin.'Le nom d'utilisateur de la machine serveur est' Fahmida.`` La connexion SSH a été établie correctement parce que le nom d'utilisateur a changé en 'Fahmida' du 'Yesmin.'Maintenant, le contenu de la machine serveur est accessible facilement. Si l'utilisateur exécute une commande maintenant, la sortie sera générée en fonction de la machine du serveur.

Conclusion

L'utilisation de la connexion Authorized_Keys pour établir la connexion SSH a été expliquée dans ce tutoriel en utilisant le localhost. Vous pouvez suivre le même processus pour établir la connexion SSH pour l'hôte distant. Vous pouvez également utiliser la commande SSH-Copy-ID pour établir une connexion SSH avec le serveur affiché dans un autre tutoriel.