ssh

Comment copier des clés SSH

Comment copier des clés SSH
SSH est un outil important lorsqu'il s'agit d'un travail à faire sur un autre serveur. Vous pouvez déplacer des fichiers, synchroniser des dossiers, migrer des comptes et des fichiers de serveur, copier des sauvegardes, etc. Il existe de nombreuses utilisations pour SSH et l'importance des clés SSH est lorsqu'il y a un processus plus répétitif à effectuer dans une courte période, comme copier des fichiers ou des dossiers, plusieurs utilisateurs, plusieurs dossiers, plusieurs comptes, des sauvegardes cpanel, etc. sera vraiment ennuyeux et prendra beaucoup de temps si vous devez donner le mot de passe ssh à chaque fois qu'il le demande. La configuration de vos clés SSH peut éviter d'avoir à saisir manuellement le mot de passe pour chaque tâche.

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-keygen
Gé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

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 1986
L'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) : 1

Essayez 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.pub
ssh-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/.ssh

Si 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.

Comment utiliser AutoKey pour automatiser les jeux Linux
AutoKey est un utilitaire d'automatisation de bureau pour Linux et X11, programmé en Python 3, GTK et Qt. En utilisant ses fonctionnalités de script e...
Comment afficher le compteur FPS dans les jeux Linux
Les jeux Linux ont reçu une impulsion majeure lorsque Valve a annoncé la prise en charge de Linux pour le client Steam et leurs jeux en 2012. Depuis l...
Comment télécharger et jouer à Civilization VI de Sid Meier sur Linux
Présentation du jeu Civilization 6 est une version moderne du concept classique introduit dans la série de jeux Age of Empires. L'idée était assez sim...