La méthode d'utilisation de SSH pour l'exécution de scripts à distance dans Linux SysOps nécessite des exemples de code spécifiques
Présentation :
Dans les opérations du système Linux, la connexion à distance et l'exécution de commandes peuvent être réalisées à l'aide de SSH (Secure Shell). L'exécution de scripts à distance est une technologie souvent utilisée dans le travail Linux SysOps. Elle peut nous aider à gérer, configurer et surveiller à distance plusieurs serveurs Linux. Cet article expliquera comment utiliser SSH pour l'exécution de scripts à distance et fournira des exemples de code spécifiques pour aider les lecteurs à mieux comprendre et appliquer.
Étape 1 : Installer le client et le serveur SSH
Avant de commencer, nous devons nous assurer que SSH est installé à la fois sur le client et sur le serveur. Habituellement, la plupart des distributions Linux installeront le serveur SSH par défaut, mais s'il n'est pas installé, nous pouvons utiliser la commande suivante pour l'installer :
sudo apt-get install openssh-server # Debian/Ubuntu系统 sudo yum install openssh-server # CentOS/RHEL系统
Le client SSH est généralement également installé avec le système Linux s'il n'est pas installé. , nous pouvons utiliser la commande suivante Commande pour installer :
sudo apt-get install openssh-client # Debian/Ubuntu系统 sudo yum install openssh-clients # CentOS/RHEL系统
Étape 2 : Générer une paire de clés SSH
Pour garantir la sécurité des connexions SSH, nous utilisons généralement l'authentification par clé au lieu de l'authentification par mot de passe. Nous pouvons utiliser des paires de clés SSH pour l'exécution de scripts à distance. Premièrement, nous devons générer les clés publiques et privées localement. Vous pouvez utiliser la commande suivante pour générer une paire de clés SSH :
ssh-keygen -t rsa
Cette commande générera la clé publique id_rsa.pub
et la clé privée dans le <code>.ssh</code de l'utilisateur. > répertoire >id_rsa
. .ssh
目录下生成公钥id_rsa.pub
和私钥id_rsa
。
步骤3:建立SSH信任关系
在远程执行脚本之前,我们需要在本地和远程主机之间建立SSH信任关系,以使远程主机信任我们的公钥。我们可以使用ssh-copy-id
命令将公钥复制到远程主机上:
ssh-copy-id username@remote_host
其中,username
是远程主机上的用户名,remote_host
是远程主机的IP地址或主机名。执行命令后,系统会要求输入远程主机的密码,然后将公钥复制到远程主机的~/.ssh/authorized_keys
文件中。
步骤4:远程脚本执行
一旦建立了SSH信任关系,我们就可以使用SSH进行远程脚本执行了。以下是一个示例脚本,它将远程执行远程主机上的命令,并将输出打印到本地终端:
#!/bin/bash remote_host="remote_host" remote_user="remote_user" command="command_to_execute" output=$(ssh $remote_user@$remote_host $command) echo "$output"
在脚本中,将remote_host
替换为远程主机的IP地址或主机名,将remote_user
替换为远程主机上的用户名,将command_to_execute
替换为要在远程主机上执行的命令。通过ssh
命令,我们可以在本地执行远程主机上的命令,并将输出保存到output
Avant d'exécuter le script à distance, nous devons établir la confiance SSH entre les hôtes locaux et distants afin que l'hôte distant fasse confiance à notre clé publique. Nous pouvons utiliser la commande ssh-copy-id
pour copier la clé publique sur l'hôte distant :
où, username
est le nom d'utilisateur sur l'hôte distant, remote_host
est l'adresse IP ou le nom d'hôte de l'hôte distant. Après avoir exécuté la commande, le système demandera le mot de passe de l'hôte distant, puis copiera la clé publique dans le fichier ~/.ssh/authorized_keys
de l'hôte distant.
remote_host
par l'adresse IP ou le nom d'hôte de l'hôte distant. , remplacez remote_user
par le nom d'utilisateur sur l'hôte distant et command_to_execute
par la commande à exécuter sur l'hôte distant. Grâce à la commande ssh
, nous pouvons exécuter des commandes sur l'hôte distant localement et enregistrer la sortie dans la variable output
. Enfin, nous imprimons la sortie sur le terminal local. 🎜🎜Nous pouvons le modifier et l'étendre en fonction des besoins réels, comme l'exécution de plusieurs commandes via une structure en boucle, le déploiement de scripts sur plusieurs hôtes distants, etc. 🎜🎜Résumé : 🎜En utilisant SSH pour l'exécution de scripts à distance, Linux SysOps peut gérer et maintenir plusieurs serveurs Linux plus efficacement. Cet article décrit les étapes d'exécution de scripts à distance à l'aide de SSH et fournit des exemples de code spécifiques. Les lecteurs peuvent le modifier et l'étendre en fonction des besoins réels pour s'adapter à différents scénarios et tâches. J'espère que cet article fournira des conseils utiles aux lecteurs et les aidera à améliorer leurs compétences Linux SysOps. 🎜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!