Maison > Opération et maintenance > exploitation et maintenance Linux > Comment utiliser SSH pour l'exécution de scripts à distance dans Linux SysOps

Comment utiliser SSH pour l'exécution de scripts à distance dans Linux SysOps

WBOY
Libérer: 2023-09-26 08:46:58
original
1221 Les gens l'ont consulté

Linux SysOps中使用SSH进行远程脚本执行的方法

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系统
Copier après la connexion

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系统
Copier après la connexion

É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
Copier après la connexion

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
Copier après la connexion

其中,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"
Copier après la connexion

在脚本中,将remote_host替换为远程主机的IP地址或主机名,将remote_user替换为远程主机上的用户名,将command_to_execute替换为要在远程主机上执行的命令。通过ssh命令,我们可以在本地执行远程主机上的命令,并将输出保存到output

Étape 3 : Établir la confiance SSH

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 :

rrreee

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.

Étape 4 : Exécution de script à distance🎜Une fois la relation de confiance SSH établie, nous pouvons utiliser SSH pour l'exécution de script à distance. Voici un exemple de script qui exécutera à distance une commande sur un hôte distant et imprimera le résultat sur le terminal local : 🎜rrreee🎜Dans le script, remplacez 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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal