Heim  >  Artikel  >  Betrieb und Instandhaltung  >  So konfigurieren Sie hochverfügbare Remote-Anmeldungen (wie SSH und Telnet) unter Linux

So konfigurieren Sie hochverfügbare Remote-Anmeldungen (wie SSH und Telnet) unter Linux

王林
王林Original
2023-07-05 11:10:491310Durchsuche

So konfigurieren Sie eine hochverfügbare Remote-Anmeldung (wie SSH und Telnet) unter Linux

Zusammenfassung: Die Remote-Anmeldung ist eine der am häufigsten verwendeten Funktionen in Linux-Systemen, die es uns ermöglicht, über das Netzwerk eine Verbindung zu einem Remote-Host herzustellen und auszuführen Operationen. In praktischen Anwendungen muss der Remote-Anmeldedienst im Hochverfügbarkeitsmodus konfiguriert werden, um die Systemverfügbarkeit und -sicherheit sicherzustellen. In diesem Artikel wird die Konfiguration einer hochverfügbaren Remote-Anmeldung unter Linux, einschließlich SSH und Telnet, vorgestellt und relevante Codebeispiele bereitgestellt.

1. SSH-Konfiguration

SSH (Secure Shell) ist ein Remote-Anmeldeprotokoll, das auf Verschlüsselungstechnologie basiert. Eine sichere Remote-Anmeldung kann in einem ungesicherten Netzwerk über SSH erreicht werden. Im Folgenden sind die Schritte zum Konfigurieren der SSH-Hochverfügbarkeit aufgeführt:

  1. SSH-Server installieren und konfigurieren
    In Linux-Systemen ist OpenSSH das häufig verwendete Softwarepaket für SSH-Server. Zunächst müssen wir sicherstellen, dass das OpenSSH-Paket auf dem Hostcomputer installiert ist.

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

Nach der Installation startet der SSH-Server automatisch und überwacht den Standardport 22.

  1. SSH-Kommunikationsschlüssel konfigurieren
    Um eine hohe Verfügbarkeit zu erreichen, können wir zur Authentifizierung ein SSH-Kommunikationsschlüsselpaar anstelle des herkömmlichen Benutzernamens/Passworts verwenden.

Zuerst müssen wir ein SSH-Schlüsselpaar generieren:

$ ssh-keygen -t rsa

Dann kopieren Sie den öffentlichen Schlüssel auf alle Remote-Hosts:

$ ssh-copy-id remote_host

  1. Konfigurieren Sie SSH Lastausgleich
    Um eine hohe Verfügbarkeit von SSH zu erreichen, können wir den Lastausgleich nutzen, um Remote-Anmeldeanfragen auf mehrere Hosts zu verteilen. Zu den häufig verwendeten Lastausgleichssoftware gehören HAProxy und Nginx.

Nehmen Sie HAProxy als Beispiel, installieren Sie zuerst HAProxy:

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

Bearbeiten Sie dann die HAProxy-Konfigurationsdatei:

$ sudo vi / etc/haproxy/haproxy.cfg

Fügen Sie den folgenden Konfigurationsblock zur Datei hinzu:

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

Speichern und beenden Sie die Datei und starten Sie dann den HAProxy-Dienst neu:

$ sudo systemctl restart haproxy

Jetzt können Sie über die von HAProxy bereitgestellte IP-Adresse eine Verbindung zum SSH-Server herstellen.

2. Telnet-Konfiguration

Telnet ist ein Protokoll, das für die Remote-Anmeldung verwendet wird, aber nicht über die Verschlüsselungsfunktion wie SSH verfügt und daher nicht für den Einsatz in ungesicherten Netzwerken geeignet ist. Im Folgenden sind die Schritte zum Konfigurieren der Telnet-Hochverfügbarkeit aufgeführt:

  1. Telnet-Server installieren und konfigurieren
    In Linux-Systemen ist telnetd das häufig verwendete Softwarepaket für Telnet-Server. Zuerst müssen wir sicherstellen, dass das Telnetd-Paket auf dem Host installiert wurde (Beispiel: CentOS/RHEL):

$ sudo yum install telnet-server

Nach der Installation startet der Telnet-Server automatisch und hört auf die Standardeinstellung Hafen 23.

  1. Konfigurieren Sie den Telnet-Lastausgleich.
    Ähnlich wie bei SSH können wir den Lastausgleich verwenden, um eine hohe Verfügbarkeit von Telnet zu erreichen. Unter Linux können wir iptables und netfilter verwenden, um einen Lastausgleich zu erreichen.

Bearbeiten Sie zunächst die iptables-Konfigurationsdatei:

$ sudo vi /etc/sysctl.conf

Fügen Sie am Ende der Datei die folgende Konfiguration hinzu:

net.ipv4.ip_forward = 1

Speichern und beenden Sie die Datei, dann laden Sie die Konfigurationsdatei:

$ sudo sysctl -p

Führen Sie als Nächstes den folgenden Befehl aus, um den Lastausgleich zu konfigurieren:

$ sudo iptables -t nat -A PREROUTING -p tcp --dport 23 -j DNAT - -to-destination 270be5cfd4c298b30b548a0c12cf80c9 die IP-Adresse des Ziel-Telnet-Servers ist.

  1. Diensterkennung konfigurieren
    Um eine hohe Verfügbarkeit zu erreichen, müssen wir eine Möglichkeit finden, Clientanfragen auf mehrere Telnet-Server zu verteilen. Zu den häufig verwendeten Service-Discovery-Software gehören ZooKeeper und Consul.

Nehmen Sie ZooKeeper als Beispiel, installieren Sie zuerst ZooKeeper:

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

Bearbeiten Sie dann die ZooKeeper-Konfigurationsdatei:

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

Fügen Sie die folgende Konfiguration in die Datei ein:

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

Unter diesen sind zoo1, zoo2 und zoo3 die Hostnamen des ZooKeeper-Servers.

Speichern und beenden Sie die Datei und starten Sie den ZooKeeper-Dienst neu:

$ sudo service zookeeper restart

Jetzt können Sie über die von ZooKeeper bereitgestellte IP-Adresse eine Verbindung zum Telnet-Server herstellen.

Fazit
Durch die Konfiguration eines hochverfügbaren Remote-Login-Dienstes können wir die Verfügbarkeit und Sicherheit des Systems gewährleisten. Dieser Artikel beschreibt die Konfiguration der Hochverfügbarkeit von SSH und Telnet unter Linux und stellt relevante Codebeispiele bereit. Ich hoffe, dieser Artikel kann Ihnen hilfreich sein. Vielen Dank fürs Lesen!

Das obige ist der detaillierte Inhalt vonSo konfigurieren Sie hochverfügbare Remote-Anmeldungen (wie SSH und Telnet) unter Linux. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn