Maison >Opération et maintenance >exploitation et maintenance Linux >Conseils pour l'utilisation des commandes d'opération rationalisées SSH dans Linux SysOps
Conseils pour utiliser SSH pour rationaliser les commandes d'opération dans Linux SysOps
Introduction :
Dans les travaux d'exploitation et de maintenance du système Linux, SSH (Secure Shell) est un protocole de connexion à distance couramment utilisé. Vous pouvez vous connecter à distance au serveur via SSH. et exécuter la commande. Cependant, utiliser SSH peut devenir fastidieux et inefficace lorsqu’on effectue un grand nombre d’opérations répétitives. Cet article présentera quelques techniques d'utilisation de SSH pour rationaliser les commandes d'opération et aidera SysOps à améliorer l'efficacité du travail grâce à des exemples de code spécifiques.
1. Utiliser le fichier de configuration SSH
Le fichier de configuration SSH se trouve dans le répertoire ~/.ssh sous le répertoire personnel de l'utilisateur. L'utilisation du fichier de configuration peut facilement enregistrer plusieurs configurations de connexion SSH et améliorer la vitesse et la sécurité de la connexion. Voici un exemple de fichier de configuration SSH simple :
Host server1 Hostname 192.168.1.100 User myuser Port 22 IdentityFile ~/.ssh/id_rsa Host server2 Hostname 192.168.1.101 User myuser Port 22 IdentityFile ~/.ssh/id_rsa
Grâce à un tel fichier de configuration, nous pouvons utiliser la commande suivante pour nous connecter au serveur spécifié dans le fichier de configuration :
ssh server1
ssh server1
二、使用SSH密钥对
为了避免每次SSH连接都需要输入密码,我们可以使用SSH密钥对来完成无密码登录。以下是使用密钥对的步骤:
ssh-keygen -t rsa
ssh-copy-id server
ssh server
三、使用SSH命令跳板机
在一些情况下,我们需要通过跳板机连接到目标服务器。SSH命令通过ProxyJump参数可以实现这一功能。以下是一个示例:
ssh -J jumpuser@jumpserver destinationuser@destinationserver
这样就可以直接从本地连接到目标服务器,跳过跳板机。
四、使用SSH批量执行命令
当我们需要在多个服务器上执行同一命令时,可以使用SSH批量执行命令的方式,而不需要逐个登录到每台服务器。以下是一个示例:
for server in $(cat servers.txt); do ssh $server "command"; done
这个命令会从servers.txt文件中逐行读取服务器IP,然后连接到每个服务器,并执行指定的命令。
五、使用SSH管道和远程端口转发
在某些情况下,我们可能需要通过SSH在本地和远程服务器之间建立一条加密的管道,或者进行远程端口转发。以下是一个示例:
ssh -L localport:localhost:remoteport server
Afin d'éviter d'avoir à saisir un mot de passe pour chaque connexion SSH, nous pouvons utiliser une paire de clés SSH pour effectuer une connexion sans mot de passe. Voici les étapes pour utiliser une paire de clés :
ssh-keygen -t rsa
ssh-copy-id server
ssh server
3. Tremplin
Dans certains cas, nous devons nous connecter au serveur cible via un tremplin. La commande SSH peut réaliser cette fonction via le paramètre ProxyJump. Voici un exemple :
ssh -J jumpuser@jumpserver destinationuser@destinationserver
🎜🎜Cela vous permet de vous connecter directement au serveur de destination localement, en ignorant le serveur de saut. 🎜🎜4. Utilisez SSH pour exécuter des commandes par lots🎜Lorsque nous devons exécuter la même commande sur plusieurs serveurs, nous pouvons utiliser SSH pour exécuter des commandes par lots sans nous connecter à chaque serveur un par un. Voici un exemple : 🎜🎜for server in $(cat serveurs.txt); do ssh $server "command"; done
🎜🎜Cette commande lira le serveur ligne par ligne à partir des serveurs. txt fichier IP, puis connectez-vous à chaque serveur et exécutez la commande spécifiée. 🎜🎜5. Utiliser les canaux SSH et la redirection de port à distance🎜Dans certains cas, nous devrons peut-être établir un canal crypté entre les serveurs locaux et distants via SSH, ou effectuer une redirection de port à distance. Voici un exemple : 🎜🎜ssh -L localport:localhost:remoteport server
🎜🎜Cette commande liera le port local localport au port distant du serveur distant, vous permettant d'accéder directement au serveur distant. serveur localement. 🎜🎜Conclusion : 🎜En utilisant des fichiers de configuration SSH, des paires de clés, des tremplins, l'exécution par lots de commandes, des pipelines et la redirection de port à distance, nous pouvons rationaliser les commandes d'opération et améliorer l'efficacité du travail Linux SysOps. J'espère que les conseils ci-dessus seront utiles aux travailleurs SysOps. 🎜🎜Auteur : Intelligent Assistant🎜Date : 20 octobre 2021🎜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!