Utilisez des commandes de connexion à distance sans mot de passe pour permettre à une machine d'accéder aux machines d'autres clusters. Par conséquent, il y a plusieurs étapes importantes à réaliser :
Apprenez à utiliser chut
Obtenez une connexion sans mot de passe
Écrivez un programme shell
Technologie de cryptage asymétrique est une méthode de cryptage qui utilise différentes clés pour le cryptage et le déchiffrement. Parmi eux, RSA et DSA sont des méthodes de chiffrement asymétriques. Bien entendu, l'algorithme de chiffrement asymétrique a un principe, c'est-à-dire qu'il existe une paire de clés qui peuvent se chiffrer et se déchiffrer. Habituellement, cette paire de clés deviendra la clé publique et la clé privée du titulaire. La clé publique est une clé que d'autres peuvent connaître, tandis que la clé privée ne peut être connue que par son détenteur. Bien entendu, si la clé privée est divulguée à des tiers, des problèmes de sécurité des informations peuvent survenir.
Supposons : A souhaite envoyer des données cryptées à B. La première méthode est la suivante : A utilise sa propre clé privée pour chiffrer, et B utilise la clé publique de A pour déchiffrer les données après les avoir obtenues. La deuxième méthode est la suivante : A utilise la clé publique de B pour chiffrer les données, et B utilise sa propre clé privée pour déchiffrer les données après les avoir obtenues.
La connexion à distance SSH utilise la première méthode.
La méthode couramment utilisée est
ssh -i [nom du fichier de clé privée] -p [numéro de port] utilisateur@nom d'hôte [commande exécutée]
Le nom du fichier de clé privée est par défaut $HOME /.ssh/id_rsa ou $HOME/.ssh/id_dsa, le numéro de port par défaut est 22.
Par exemple :
1 |
|
1 |
|
Ensuite, ce sera dans $ Un fichier de paire de clés est généré dans le répertoire HOME/.ssh/, dans lequel *.pub est unifié en un fichier de clé publique et l'autre est un fichier de clé privée.
Ensuite, copiez le contenu du fichier de clé publique dans $HOME/.ssh/authorized_keys de l'utilisateur hôte cible. La méthode de copie peut être utilisée manuellement par vous-même. Vous pouvez également utiliser la commande suivante pour obtenir
ssh-copy-id -i [nom du fichier de clé publique] user$hostname
Par exemple :
1 |
|
Exécutez ensuite la commande de connexion à distance pour obtenir une connexion sans mot de passe. Si un mot de passe est toujours requis pour la deuxième connexion, cela peut être dû à des problèmes d'autorisation de fichiers et de répertoires de fichiers. Cela peut aussi être dû au fait que la clé privée et la clé publique de la connexion ne forment pas une paire.
Fichier sshtest.sh :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 |
|
Fichier sshlink.cfg : Vous devez d'abord configurer la clé avant de pouvoir vous connecter sans mot de passe
1 2 3 |
|
Fichier sshcmd.cfg : à remplir en fonction de votre propres besoins
1 2 |
|
Si l'avant-dernière ligne du code ci-dessus est remplacée par
1 |
|
, alors la boucle while ne bouclera qu'une seule fois. Parce que la ligne while read placera les informations de boucle dans l'entrée standard et que la commande ssh lira tout le tampon d'entrée, donc while n'est pas dans la boucle. La commande ssh doit donc être redirigée
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!