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 l'utilisation des commandes d'opération rationalisées SSH dans Linux SysOps

王林
王林original
2023-09-27 11:51:34797parcourir

Linux SysOps中使用SSH精简操作命令的技巧

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 server1ssh server1

二、使用SSH密钥对
为了避免每次SSH连接都需要输入密码,我们可以使用SSH密钥对来完成无密码登录。以下是使用密钥对的步骤:

  1. 生成密钥对:
    ssh-keygen -t rsa
  2. 将公钥复制到服务器上:
    ssh-copy-id server
  3. 测试无密码登录:
    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

2. Utiliser la paire de clés SSH

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 :

  1. Générer une paire de clés :

    ssh-keygen -t rsa

  2. Copiez la clé publique sur le serveur :
    ssh-copy-id server
  3. Test de connexion sans mot de passe : 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!

Déclaration:
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