Maison  >  Article  >  Opération et maintenance  >  Comment configurer des connexions à distance hautement disponibles (telles que SSH et Telnet) sous Linux

Comment configurer des connexions à distance hautement disponibles (telles que SSH et Telnet) sous Linux

王林
王林original
2023-07-05 11:10:491356parcourir

Comment configurer la connexion à distance haute disponibilité (telle que SSH et Telnet) sous Linux

Résumé : La connexion à distance est l'une des fonctions les plus couramment utilisées dans les systèmes Linux, qui nous permet de nous connecter à un hôte distant via le réseau et d'effectuer opérations. Dans les applications pratiques, afin de garantir la disponibilité et la sécurité du système, le service de connexion à distance doit être configuré en mode haute disponibilité. Cet article explique comment configurer la connexion à distance hautement disponible sous Linux, y compris SSH et Telnet, et fournit des exemples de code pertinents.

1. Configuration SSH

SSH (Secure Shell) est un protocole de connexion à distance basé sur la technologie de cryptage. Une connexion à distance sécurisée peut être réalisée dans un réseau non sécurisé via SSH. Voici les étapes pour configurer la haute disponibilité SSH :

  1. Installer et configurer le serveur SSH
    Dans les systèmes Linux, le progiciel couramment utilisé pour les serveurs SSH est OpenSSH. Tout d’abord, nous devons nous assurer que le package OpenSSH est installé sur la machine hôte.

$ sudo apt-get install openssh-server # Ubuntu/Debian
$ sudo yum install openssh-server # CentOS/RHEL

Après l'installation, le serveur SSH démarrera automatiquement et écoutera le port par défaut 22.

  1. Configurer la clé de communication SSH
    Afin d'obtenir une haute disponibilité, nous pouvons utiliser une paire de clés de communication SSH pour l'authentification au lieu d'utiliser le nom d'utilisateur/mot de passe traditionnel.

Tout d'abord, nous devons générer une paire de clés SSH :

$ ssh-keygen -t rsa

Ensuite, copiez la clé publique sur tous les hôtes distants :

$ ssh-copy-id remote_host

  1. Configurez SSH Équilibrage de charge
    Afin d'obtenir une haute disponibilité de SSH, nous pouvons utiliser l'équilibrage de charge pour distribuer les demandes de connexion à distance à plusieurs hôtes. Les logiciels d'équilibrage de charge couramment utilisés incluent HAProxy et Nginx.

Prenons HAProxy comme exemple, installez d'abord HAProxy :

$ sudo apt-get install haproxy # Ubuntu/Debian
$ sudo yum install haproxy # CentOS/RHEL

Ensuite, modifiez le fichier de configuration HAProxy :

$ sudo vi / etc/haproxy/haproxy.cfg

Ajoutez le bloc de configuration suivant au fichier :

frontend ssh

bind *:22
mode tcp
default_backend ssh_servers

backend ssh_servers

mode tcp
balance roundrobin
server ssh1 192.168.1.101:22 check
server ssh2 192.168.1.102:22 check
server ssh3 192.168.1.103:22 check

Enregistrez et quittez le fichier, puis redémarrez le service HAProxy :

$ sudo systemctl restart haproxy

Maintenant, vous pouvez vous connecter au serveur SSH en utilisant l'adresse IP fournie par HAProxy.

2. Configuration Telnet

Telnet est un protocole utilisé pour la connexion à distance, mais il n'a pas de fonction de cryptage comme SSH, il ne convient donc pas à une utilisation dans des réseaux non sécurisés. Voici les étapes pour configurer la haute disponibilité Telnet :

  1. Installer et configurer le serveur Telnet
    Dans les systèmes Linux, le progiciel couramment utilisé pour les serveurs Telnet est telnetd. Tout d'abord, nous devons nous assurer que le package telnetd a été installé sur l'hôte (exemple : CentOS/RHEL) :

$ sudo yum install telnet-server

Une fois l'installation terminée, le serveur Telnet démarrera et écoutera automatiquement au port par défaut 23.

  1. Configurer l'équilibrage de charge Telnet
    Semblable à SSH, nous pouvons utiliser l'équilibrage de charge pour atteindre une haute disponibilité de Telnet. Sous Linux, nous pouvons utiliser iptables et netfilter pour réaliser l'équilibrage de charge.

Tout d'abord, éditez le fichier de configuration iptables :

$ sudo vi /etc/sysctl.conf

Ajoutez la configuration suivante à la fin du fichier :

net.ipv4.ip_forward = 1

Enregistrez et quittez le puis chargez le fichier de configuration :

$ sudo sysctl -p

Ensuite, exécutez la commande suivante pour configurer l'équilibrage de charge :

$ sudo iptables -t nat -A PREROUTING -p tcp --dport 23 -j DNAT - -to-destination b6ef32a8429e4b4c68156febea5e1617 est l'adresse IP du serveur Telnet cible.

  1. Configurer la découverte de services
    Afin d'atteindre une haute disponibilité, nous devons trouver un moyen de distribuer les requêtes des clients sur plusieurs serveurs Telnet. Les logiciels de découverte de services couramment utilisés incluent ZooKeeper et Consul.

Prenons ZooKeeper comme exemple, installez d'abord ZooKeeper :

$ sudo apt-get install zookeeperd # Ubuntu/Debian
$ sudo yum install zookeeper # CentOS/RHEL

Ensuite, modifiez le fichier de configuration de ZooKeeper :

$ sudo vi / etc/zookeeper/conf/zoo.cfg

Ajoutez la configuration suivante dans le fichier :

server.1=zoo1:2888:3888
server.2=zoo2:2888:3888
server.3=zoo3:2888 :3888

Parmi eux, zoo1, zoo2 et zoo3 sont les noms d'hôte du serveur ZooKeeper.

Enregistrez et quittez le fichier et redémarrez le service ZooKeeper :

$ sudo service zookeeper restart

Vous pouvez maintenant vous connecter au serveur Telnet en utilisant l'adresse IP fournie par ZooKeeper.

Conclusion
En configurant un service de connexion à distance hautement disponible, nous pouvons assurer la disponibilité et la sécurité du système. Cet article décrit comment configurer la haute disponibilité de SSH et Telnet sous Linux et fournit des exemples de code pertinents. J'espère que cet article pourra vous être utile, merci d'avoir lu !

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