ホームページ >運用・保守 >Linuxの運用と保守 >Linux で高可用性リモート ログイン (SSH や Telnet など) を構成する方法

Linux で高可用性リモート ログイン (SSH や Telnet など) を構成する方法

王林
王林オリジナル
2023-07-05 11:10:491396ブラウズ

Linux で高可用性リモート ログイン (SSH や Telnet など) を構成する方法

要約: リモート ログインは、Linux システムで最も一般的に使用される機能の 1 つであり、リモート ホストへの接続を可能にします。ネットワークを介して動作します。実際のアプリケーションでは、システムの可用性とセキュリティを確保するために、リモート ログイン サービスを高可用性モードで構成する必要があります。この記事では、Linux 上で SSH や Telnet などの高可用性リモート ログインを構成する方法を紹介し、関連するコード例を示します。

1. SSH の設定

SSH (Secure Shell) は、暗号化技術をベースにしたリモート ログイン プロトコルであり、安全でないネットワークでも SSH を介して安全なリモート ログインを実現できます。 SSH 高可用性を構成する手順は次のとおりです。

  1. SSH サーバーのインストールと構成
    Linux システムでは、SSH サーバーに一般的に使用されるソフトウェア パッケージは OpenSSH です。まず、OpenSSH パッケージがホスト マシンにインストールされていることを確認する必要があります。

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

インストールが完了すると、SSHサーバーは自動的に起動し、デフォルトのポート 22 で待機します。

  1. SSH 通信キーの構成
    高可用性を実現するために、従来のユーザー名/パスワードを使用する代わりに、認証に SSH 通信キーのペアを使用できます。

まず、SSH キー ペアを生成する必要があります:

$ ssh-keygen -t rsa

次に、公開キーをすべてのリモート ホストにコピーします。

$ ssh-copy-id remote_host

  1. SSH ロード バランシングの構成
    SSH の高可用性を実現するために、ロード バランシングを使用してリモート ログイン リクエストを複数のホストに分散できます。ホスト上で。一般的に使用される負荷分散ソフトウェアには、HAProxy や Nginx などがあります。

HAProxy を例として、まず HAProxy をインストールします。

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

次に、HAProxy 構成ファイルを編集します:

$ sudo vi /etc/haproxy/haproxy.cfg

ファイルに次の構成ブロックを追加します:

フロントエンド ssh

bind *:22
mode tcp
default_backend ssh_servers

バックエンド 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

ファイルを保存して終了し、HAProxy サービスを再起動します。

$ sudo systemctl restart haproxy

これで、次のことが可能になります。 HAProxy を使用して、SSH サーバーに接続するための IP アドレスを提供します。

2. Telnet の設定

Telnet はリモートログインに使用されるプロトコルですが、SSH のような暗号化機能がないため、安全でないネットワークでの使用には適していません。 Telnet の高可用性を構成する手順は次のとおりです。

  1. Telnet サーバーのインストールと構成
    Linux システムでは、Telnet サーバーに一般的に使用されるソフトウェア パッケージは telnetd です。まず、telnetd パッケージがホスト (例: CentOS/RHEL) にインストールされていることを確認する必要があります。

$ sudo yum install telnet-server

インストールが完了したら、完了すると、Telnet サーバーが自動的に起動し、デフォルトのポート 23 で待機します。

  1. Telnet ロード バランシングの構成
    SSH と同様に、ロード バランシングを使用して Telnet の高可用性を実現できます。 Linux では、iptables と netfilter を使用して負荷分散を実現できます。

まず、iptables 構成ファイルを編集します:

$ sudo vi /etc/sysctl.conf

ファイルの最後に次の構成を追加します。

## net.ipv4.ip_forward = 1

ファイルを保存して終了し、設定ファイルをロードします:

$ sudo sysctl -p

次に、実行します。ロードバランシングを設定する次のコマンド:

$ sudo iptables -t nat -A PREROUTING -p tcp --dport 23 -j DNAT --to-destination 9c3735a17da6c34f1799512b11b0e54c:23

$ sudo iptables -t nat -A POSTROUTING - j MASQUERADE

ここで、9c3735a17da6c34f1799512b11b0e54c はターゲット Telnet サーバーの IP アドレスです。

    サービス検出の構成
  1. 高可用性を実現するには、クライアント要求を複数の Telnet サーバーに分散する方法を見つける必要があります。一般的に使用されるサービス検出ソフトウェアには、ZooKeeper や Consul などがあります。
ZooKeeper を例として、まず ZooKeeper をインストールします。

$ sudo apt-get installzookeeperd # Ubuntu/Debian

$ sudo yum installzookeeper # CentOS/RHEL

次に、ZooKeeper 構成ファイルを編集します:

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

次の構成をファイルに追加します:

server.1=zoo1:2888:3888

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

ここで、zoo1、zoo2、zoo3 はホストです。 ZooKeeper サーバーの名前。

ファイルを保存して終了し、ZooKeeper サービスを再起動します。

$ sudo service Zookeeper restart

これで、ZooKeeper によって提供された IP アドレスを使用して Telnet サーバーに接続できるようになります。 。

結論

高可用性リモート ログイン サービスを構成することで、システムの可用性とセキュリティを確保できます。この記事では、Linux 上で SSH と Telnet の高可用性を構成する方法について説明し、関連するコード例を示します。この記事があなたのお役に立てれば幸いです、読んでいただきありがとうございます!

以上がLinux で高可用性リモート ログイン (SSH や Telnet など) を構成する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。