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.
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 |
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
.
Tout d'abord, la procédure pour Linux (CentOS 7). On suppose que sshd du serveur Linux de destination de la connexion est activé.
Passez la clé publique créée au niveau de la source de connexion à la destination de connexion Linux.
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
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.
Ensuite, les paramètres de la mise à jour 3 de VMware ESXi 6.7.
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.
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.
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.
Paramètres
.
--Cliquez sur Paramètres Windows> ʻApps`. et cliquez sur le bouton
Installer` qui apparaît.
--Fermer avec le bouton x en haut à droite de l'écran.É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.
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
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.
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