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-serverGé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 rsaAprè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_KEYSAucune 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_configDé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 sshExé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_KEYSCopiez 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 ~ /.sshExé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-VirtualBoxLa 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.