Pour configurer des clés SSH entre deux serveurs, nous devons suivre ces étapes :
Étape 1 : Créer une paire de clés dans le serveur source
Créer une paire de clés sur le serveur source. Lorsque nous donnons la commande ssh-keygen, elle créera par défaut une paire de clés RSA de 2048 bits et si vous avez besoin d'un cryptage plus puissant, vous pouvez également utiliser 4096 bits. Pour cela, vous devez utiliser "-b 4096" dans la commande ssh-keygen end. J'utilise celui par défaut ici.
Quelques points à prendre en compte dans la sortie ci-dessous :
Dans la ligne « Entrez le fichier dans lequel enregistrer la clé (/racine/.ssh/id_rsa) : »
Il demande le chemin pour enregistrer la clé et celui par défaut est normalement bon. Si la valeur par défaut est correcte, vous pouvez simplement appuyer sur Entrée. Si vous voulez essayer un autre chemin, vous devez spécifier le même ici. Parfois, cela dira comme:
/racine/.ssh/id_rsa existe déjà. Écraser (o/n)?Vous devez prendre une copie du .dossier ssh avant d'apporter des modifications ou devez savoir ce que vous faites. L'envoi d'un Oui empêchera l'ancienne clé (si elle est déjà utilisée) de fonctionner.
Dans la ligne « Enter passphrase (vide for no passphrase):" Il s'agit d'une procédure de sécurité supplémentaire qui demandera la phrase secrète à chaque fois que vous essayez de vous connecter à SSH et qui fonctionnera comme une vérification en 2 étapes. Mais si vous avez besoin d'un accès ssh pour tout script ou tout autre travail direct et travail rapide, il vaut mieux ne pas l'avoir. Outre le scriptage ou l'automatisation des travaux, nous vous suggérons de l'avoir à coup sûr.
Résultat complet de la commande pour référence :
[email protégé] :~$ ssh-keygenGénération d'une paire de clés rsa publique/privée.
Entrez le fichier dans lequel enregistrer la clé (/root/.ssh/id_rsa) :
Répertoire créé '/root/.chut'.
Saisissez la phrase secrète (vide pour aucune phrase secrète) :
Saisissez à nouveau la même phrase secrète :
Votre identification a été enregistrée dans /root/.ssh/id_rsa.
Votre clé publique a été enregistrée dans /root/.ssh/id_rsa.pub.
L'empreinte digitale clé est :
SHA256:z4nl0d9vJpo/5bdc4gYZh8nnTjHtXB4Se/UqyuyigUI sumesh@Sree
L'image aléatoire de la clé est :
+---[RSA 2048]----+
| |
| . .|
| . oh.o|
| .=o=o+|
| E S o .*oBo|
| . . * o+.+.=|
| … o=. =ooo|
| . … + o*.B|
| … o. o+oB+|
+----[SHA256]-----+
[email protégé]~$
Étape 2 : Copiez cette paire de clés créée sur votre serveur de destination
Il existe 2 façons différentes de le copier sur votre serveur de destination
- Utilisation de la commande ssh-copy-id
- Copie de la clé ssh à l'aide de l'utilisateur/passe ssh normal en tant que doublure depuis notre machine locale ou après s'être connecté au serveur.
2.1 Utilisation de la commande ssh-copy-id
ssh-copy-id gérera la copie et la configuration de la clé sur un serveur distant de la bonne manière pour vous. Une fois la commande terminée vous n'aurez pas besoin de mot de passe pour chaque connexion. Vous pouvez désormais écrire tous vos scripts automatisés pour le travail d'administrateur système sans avoir à saisir de mot de passe manuellement et gagner du temps sur l'accès quotidien aux systèmes que vous utilisez tout le temps.
Vous devez d'abord vérifier s'il existe une commande comme celle-ci et si la commande fonctionne et que l'utilisateur que vous essayez a accès à cette commande, vous pouvez utiliser cette commande pour copier la clé publique sur le serveur distant. Cet utilitaire analysera votre compte local pour toute clé publique rsa et vous demandera le mot de passe du compte de l'utilisateur distant.
Ici, nous allons copier la clé ssh racine sur l'accès au niveau racine des serveurs. Donc, pour obtenir cette copie, vous devez vous connecter / basculer vers l'utilisateur pour lequel vous avez créé la clé. Dans ce cas, nous essayons la connexion root-root.
La sortie complète est ci-dessous et j'ajoute les détails nécessaires entre eux
root@Source]]:~$ ssh-copy-id [email protected] -p 1986L'authenticité de l'hôte '[192.1.1.19] : 1986 ([192.1.1.19]:1986)' ne peut être établi.
L'empreinte digitale de la clé ECDSA est SHA256:YYOj54aEJvIle4D2osDiEhuS0NEDImPTiMhHGgDqQFk.
Êtes-vous sûr de vouloir continuer à vous connecter (oui/non)? Oui
Si vous l'utilisez pour la première fois, vous obtiendrez une telle réponse et vous devrez taper oui, puis appuyer sur Entrée
/usr/bin/ssh-copy-id : INFO : tentative de connexion avec la ou les nouvelles clés,pour filtrer ceux qui sont déjà installés
/usr/bin/ssh-copy-id : INFO : il reste 1 clé(s) à installer -- si vous y êtes invité
maintenant il s'agit d'installer les nouvelles clés
[email protected] de passe de 19 :
Entrez le mot de passe puis appuyez sur Entrée.
Nombre de clé(s) ajoutée(s) : 1Essayez maintenant de vous connecter à la machine, avec : "ssh -p '1986"[email protected]'"
et vérifiez qu'il fonctionne comme prévu.
Après cela, vous pourrez vous connecter au serveur sans aucun mot de passe. Une fois que l'authentification sans mot de passe fonctionne correctement, vous pouvez désactiver l'authentification par mot de passe afin de pouvoir verrouiller l'accès ssh en utilisant uniquement les clés ssh
2.2 Copier la clé ssh à l'aide de l'utilisateur/passer ssh normal manuellement
Si vous ne parvenez pas à faire fonctionner la commande ci-dessus, j'ajouterai les étapes pour que vous puissiez copier la clé ssh et configurer le mot de passe sans auth de votre machine vers votre serveur.
Pour ce faire, nous devons ajouter manuellement le contenu de votre id_rsa.pub dans le /root/.ssh/authorized_keys sur votre ordinateur de destination. Si vous allez copier la clé sur l'utilisateur root, l'emplacement sera /racine/.ssh/authorized_keys .
À partir de l'étape 1 : vous avez peut-être vu la ligne ci-dessous
Votre clé publique a été enregistrée dans /racine/.ssh/id_rsa.pub.
Cela dit que la clé publique que vous devez copier sur le serveur distant se trouve dans le fichier ci-dessus. Il faut donc copier le contenu de ce fichier puis le copier ou le coller dans les authorised_keys du serveur distant
Alors faites les étapes ci-dessous
La commande ci-dessous vous donnera la clé à copier :
[email protégé]$ cat /root/.ssh/id_rsa.pubssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQCqql6MzstZYh1TmWWv11q5O3pISj2ZFl9Hg
H1JLknLLx44+tXfJ7mIrKNxOOwxIxvcBF8PXSYvobFYEZjGIVCEAjrUzLiIxbyCoxVyle7Q+bqgZ
8SeeM8wzytsY+dVGcBxF6N4JS+zVk5eMcV385gG3Y6ON3EG112n6d+SMXY0OEBIcO6x+PnUS
GHrSgpBgX7Ks1r7xqFa7heJLLt2wWwkARptX7udSq05paBhcpB0pHtA1Rfz3K2B+ZVIpSDfki9UV
KzT8JUmwW6NNzSgxUfQHGwnW7kj4jp4AT0VZk3ADw497M2G/12N0PPB5CnhHf7ovgy6nL1ik
rygTKRFmNZISvAcywB9GVqNAVE+ZHDSCuURNSAInVzgYo9xgJDW8wUw2o8U77+xiFxgI5QSZ
X3Iq7YLMgeksaO4rBJEa54k8m5wEiEE1nUhLuJ0X/vh2xPff6SQ1BL/zkOhvJCACK6Vb15mDOeCS
q54Cr7kvS46itMosi/uS66+PujOO+xt/2FWYepz6ZlN70bRly57Q06J+ZJoc9FfBCbCyYH7U/ASsmY0
95ywPsBo1XQ9PqhnN1/YOorJ068foQDNVpm146mUpILVxmq41Cj55YKHEazXGsdBIbXWhcrRf4G
2fJLRcGUr9q8/lERo9oxRm5JFX6TCmj6kmiFqv+Ow9gI0x8GvaQ== racine@Source
Connectez-vous au serveur distant sur lequel vous devez copier cette clé ci-dessus et assurez-vous d'utiliser le même utilisateur sur lequel vous devez copier la clé ssh. Si vous avez besoin d'un accès root direct, copiez la clé directement dans /root/.ssh/ section
Créer un dossier .ssh s'il n'existe pas
Pour vérifier si cela existe et sinon, créez-le en utilisant les commandes ci-dessous :
[email protégé] :$ ls -l /root/.sshSi le dossier n'y est pas, créez-le avec la commande ci-dessous :
[email protégé]$ mkdir -p /root/.ssh[email protégé]$ touch /root/.ssh/authorized_keys
[email protected]:$ echo "ssh-rsa
AAAAB3NzaC1yc2EAAAADAQABAAACAQCqql6MzstZYh1TmWWv11q5O3pISj2ZFl9HgH1JLknLLx44+tXfJ7mIrKNxOOwxI
xvcBF8PXSYvobFYEZjGIVCEAjrUzLiIxbyCoxVyle7Q+bqgZ8SeeM8wzytsY+dVGcBxF6N4JS+zVk5eMcV385gG3Y6ON3
EG112n6d+SMXY0OEBIcO6x+PnUSGHrSgpBgX7Ks1r7xqFa7heJLLt2wWwkARptX7udSq05paBhcpB0pHtA1Rfz3K2B+ZV
IpSDfki9UVKzT8JUmwW6NNzSgxUfQHGwnW7kj4jp4AT0VZk3ADw497M2G/12N0PPB5CnhHf7ovgy6nL1ikrygTKRFmNZI
SvAcywB9GVqNAVE+ZHDSCuURNSAInVzgYo9xgJDW8wUw2o8U77+xiFxgI5QSZX3Iq7YLMgeksaO4rBJEa54k8m5wEiEE1
nUhLuJ0X/vh2xPff6SQ1BL/zkOhvJCACK6Vb15mDOeCSq54Cr7kvS46itMosi/uS66+PujOO+xt/2FWYepz6ZlN70bRly
57Q06J+ZJoc9FfBCbCyYH7U/ASsmY095ywPsBo1XQ9PqhnN1/YOorJ068foQDNVpm146mUpILVxmq41Cj55YKHEazXGsd
BIbXWhcrRf4G2fJLRcGUr9q8/lERo9oxRm5JFX6TCmj6kmiFqv+Ow9gI0x8GvaQ==root@Source“ >>
/racine/.ssh/authorized_keys
Assurez-vous que l'autorisation du dossier est correcte
chmod -R go= /root/.chut/Après cela, essayez de vous connecter au serveur à partir d'un nouveau terminal et assurez-vous que l'authentification sans clé fonctionne comme prévu. Ensuite seulement, désactivez l'authentification par mot de passe dans la configuration ssh.
REMARQUE: assurez-vous que vous pouvez vous connecter au serveur selon vos besoins (soit directement depuis votre machine, soit vous pouvez vous connecter à un autre utilisateur sur le serveur distant et basculer manuellement en root à partir de ce compte en utilisant su ou sudo ) et ensuite seulement désactiver l'authentification du mot de passe sinon il y a des chances de verrouiller les utilisateurs root.
Si vous avez des besoins, vous pouvez toujours me contacter pour toute aide et partager vos commentaires.