[LINUX] Connexion SSH à l'aide de la clé publique

introduction

Je ne comprends pas bien la théorie, donc je l'oublie souvent et je la vérifie plusieurs fois Connexion ssh sans mot de passe.

Cet article n'est qu'une réorganisation du contenu du site facile à comprendre que mes aînés ont téléchargé dans le passé afin que je puisse facilement le comprendre. Merci à tous mes aînés.

Chose que tu veux faire

ssh.png

Lors de la connexion ssh d'une machine à plusieurs machines / différents systèmes d'exploitation, je souhaite accéder sans saisir de mot de passe. Nous résumerons la procédure de connexion à l'aide de la clé publique, en gardant à l'esprit que les commandes à distance seront exécutées au lieu d'une simple simplification de la connexion.

La configuration supposée cette fois est la suivante. [Source de connexion]

Machine adresse IP
Linux(CentOS) 192.168.10.100

【point d'accès】

Machine adresse IP
Linux(CentOS) 192.168.10.101
VMware ESXi 192.168.10.200
Windows 10 Pro 192.168.10.201

1. Générez la clé privée et la clé publique à la source de connexion

Sur le serveur source de connexion, créez une paire clé privée / clé publique et transmettez la clé publique à la destination de la connexion. C'est le seul élément de base.

Alors, connectez-vous d'abord au serveur source de connexion et créez une paire de clés. Connectez-vous au Linux de connexion en tant qu'utilisateur root. Générez ensuite la clé avec la commande suivante. Si vous souhaitez créer une clé avec rsa, vous n'avez pas besoin de la spécifier.

# ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa): 
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx root@hostname

Vous serez invité à définir le fichier de stockage des clés et la phrase de passe. L'emplacement par défaut de la clé est /root/.ssh/id_rsa, appuyez simplement sur la touche Entrée. La phrase secrète est vide car je souhaite l'utiliser ultérieurement pour un traitement automatisé. Appuyez simplement sur la touche Entrée.

Confirmez que la clé a été générée.

# cd .ssh
# ls
id_rsa  id_rsa.pub  known_hosts

Vous avez une clé privée: id_rsa et une clé publique: id_rsa.pub.

2. Paramètre de destination de la connexion: édition Linux

Tout d'abord, la procédure pour Linux (CentOS 7). On suppose que sshd du serveur Linux de destination de la connexion est activé.

Distribution de clés publiques

Passez la clé publique créée au niveau de la source de connexion à la destination de connexion Linux. key-scp.png

J'ai utilisé scp pour remettre les clés. Bien entendu, à ce stade, la clé publique n'est pas utilisée, alors entrez le mot de passe.

Exécuter à la source de connexion


# scp /root/.ssh/id_rsa.pub [email protected]:/root/

Connectez-vous à la destination de connexion Linux en tant que root et ajoutez la clé publique transmise à .ssh / allowed_keys.

Exécuter à la destination de la connexion


# mkdir .ssh
# chmod 700 .ssh
# cat id_rsa.pub >> .ssh/authorized_keys
# rm id_rsa.pub

Modifier les paramètres sshd et redémarrer les services

Modifiez une partie de sshd_config de la destination de connexion.

Exécuter à la destination de la connexion


# vi /etc/ssh/sshd_config

Ne modifiez qu'un seul emplacement concernant l'authentification par clé publique. En fait, supprimez simplement le # au début.

Exécuter à la destination de la connexion


PubkeyAuthentication yes

Après la réécriture, redémarrez le service.

# systemctl restart sshd

Vous pouvez maintenant accéder à ssh depuis le Linux source vers le Linux de destination sans avoir à saisir de mot de passe.

3. Paramètre de destination de connexion: VMware ESXi

Ensuite, les paramètres de la mise à jour 3 de VMware ESXi 6.7.

Activer le service ESXi sshd

Le service ESXi sshd est désactivé par défaut, alors activez-le.

--Ouvrez un navigateur et accédez à l'ESXi cible. --Ouvrez Hôte> Administration> Services. --Sélectionnez TSM-SSH et cliquez sur Action. --Sélectionnez une politique et sélectionnez «Démarrer et arrêter en conjonction avec l'hôte». --Laissez TSM-SSH sélectionné et cliquez sur le bouton Démarrer.

Cela démarrera le service sshd et le service sshd sera activé la prochaine fois que vous redémarrerez ESXi.

Distribution de clés publiques

Passez la clé publique créée au niveau de la source de connexion à la destination de connexion ESXi. Encore une fois, passez-le comme scp.

sh:Exécuter à la source de connexion
# scp /root/.ssh/id_rsa.pub [email protected]:/

Connectez-vous à ESXi de destination de connexion en tant que root et ajoutez la clé publique transmise à / etc / ssh / keys-root / allowed_keys.

point d'accès(ESXi)Courir


~] cat id_rsa.pub >> /etc/ssh/keys-root/authorized_keys

ESXi ne nécessite pas de redémarrage du service. C'est la fin.

4. Paramètre de destination de connexion: Windows 10 Professionnel

Ajout de fonctions

Si vous disposez de Windows 10 version 1803 ou ultérieure, vous pouvez ajouter le service sshd. La méthode d'addition est la suivante.

Activer le service sshd pour Windows 10 Professionnel

Étant donné que le service n'est pas activé simplement en l'installant, activez-le par la méthode suivante.

--Entrez "service" dans la zone de recherche pour rechercher. Ouvrez l'écran Service. --Nom du service: ʻRechercher OpenSSH SSH Server et ouvrir ses propriétés. --Startup type: Sélectionnez ʻAuto et cliquez sur le bouton Apply et OK.

Distribution de clés publiques

Passez à nouveau la clé publique créée au niveau de la source de connexion à la destination de connexion Windows 10 à l'aide de scp. Le nom d'utilisateur sur Windows 10 est Tech.

Exécuter à la source de connexion


# scp /root/.ssh/id_rsa.pub [email protected]:/

Maintenant que la clé publique a été copiée sur Windows 10, nous allons la faire fonctionner côté Windows 10. Ouvrez PowerShell et écrivez la clé publique reçue dans .ssh / allowed_keys ci-dessous où se trouve le domicile de l'utilisateur.

point d'accès(Windows10)Courir


> mkdir .ssh
> cat C:\id_rsa.pub >> .ssh/authorized_keys

Modifier les paramètres du service sshd et redémarrer le service

Le fichier de configuration est C: \ ProgramData \ ssh \ sshd_conf. Au début, j'ai cherché où c'était. .. .. Dans ce fichier, décommentez un endroit et commentez deux endroits. Plus précisément, le paramètre permettant d'activer l'authentification par clé publique et le paramètre permettant d'utiliser uniquement les fichiers de clé autorisée sous le contrôle local.

original


#PubkeyAuthentication yes
(réduction)
Match Group administrators
       AuthorizedKeysFile __PROGRAMDATA__/ssh/administrators_authorized_keys

Après le changement


PubkeyAuthentication yes
(réduction)
#Match Group administrators
#       AuthorizedKeysFile __PROGRAMDATA__/ssh/administrators_authorized_keys

Après cela, redémarrez le service sshd.

Vous pouvez maintenant vous connecter à Windows par ssh sans mot de passe.

Site référencé

https://qiita.com/Tanaaaaan/items/50c3f0ddc15c40b750d2 https://sig9.hatenablog.com/entry/2015/05/27/185218 http://ttm.jimba.ddo.jp/adiary.cgi/teraterm/0147 https://www.atmarkit.co.jp/ait/articles/1903/28/news005.html

Recommended Posts

Connexion SSH à l'aide de la clé publique
Connexion SSH à l'aide de la clé publique
[SSH] À propos de l'authentification par clé publique et EC2
Connexion SSH à l'aide de la clé publique
Comment configurer l'authentification par clé publique avec SSH
Mémo de connexion SSH utilisant ProxyCommand de ssh_config en Python
Comment générer une clé publique à partir d'une clé privée SSH
Supprimer la phrase secrète de la clé privée ssh
Méthode de connexion SQL utilisant pyodbc
Utilisez l'authentification par clé publique par clé privée pour ssh. Connectez-vous depuis WAN.
Authentification par clé publique SSH définie pour Sakura VPS Cent OS7.7
[Série de paramètres Linux] Comment définir l'authentification par clé publique / ssh-keygen / ssh key / authorized_keys
Jusqu'à ce que vous puissiez emprunter VPS avec Conoha et authentifier la clé publique avec SSH