SSH 経由でクロスサーバー Linux SysOps 管理を実現する方法

WBOY
リリース: 2023-09-28 11:04:49
オリジナル
1100 人が閲覧しました

如何通过SSH实现跨服务器的Linux SysOps管理

SSH を通じてクロスサーバー Linux SysOps 管理を実現する方法

概要:
Linux システム管理では、多くの場合、複数のリモート サーバーを管理する必要があります。同時。 SSH (Secure Shell) プロトコルを通じて、クロスサーバー管理操作を実装できます。この記事では、SSH を使用してクロスサーバー Linux SysOps (システム運用および保守) 管理を実装する方法を紹介し、具体的なコード例を示します。

  1. SSH 概要:
    SSH は、安全なチャネルを通じてクライアントとサーバーの間でデータを送信できる、暗号化されたリモート ログイン プロトコルです。 SSH プロトコルは、ID 認証、データ暗号化、データ整合性検証などのセキュリティ メカニズムを提供し、リモート ログインのセキュリティを確保します。
  2. SSH 公開キーと秘密キーの生成:
    リモート ログインに SSH を使用する前に、SSH 公開キーと秘密キーのペアを生成する必要があります。クライアントで次のコマンドを実行して、公開キーと秘密キーを生成します。
ssh-keygen -t rsa
ログイン後にコピー

これにより、公開キー ファイルと秘密キー ファイルのペアが生成され、ユーザーの.ssh## に保存されます。 # デフォルトではディレクトリ。公開キーのファイル名はid_rsa.pub、秘密キーのファイル名はid_rsaです。

    パスワード不要のログインを構成する:
  1. SSH をクロスサーバー管理に使用する場合、通常はパスワード不要のログインが構成されます。具体的な操作は次のとおりです。
(1) クライアントの公開鍵ファイル

id_rsa.pubを管理対象のリモート サーバーにコピーします:

ssh-copy-id -i ~/.ssh/id_rsa.pub user@remote_server
ログイン後にコピー

このうち、

userはリモート サーバーのユーザー名、remote_serverはリモート サーバーの IP アドレスまたはドメイン名です。

(2) リモート サーバーで、公開キー ファイルの内容を

~/.ssh/authorized_keysファイルに追加します。

cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
ログイン後にコピー

(3) セットアップリモートサーバー

~/.sshディレクトリと~/.ssh/authorized_keysファイルの権限:

chmod 700 ~/.ssh chmod 600 ~/.ssh/authorized_keys
ログイン後にコピー

上記の設定を完了すると、パスワードが不要になります。ログインが実現できます。

    クロスサーバー管理に SSH を使用する:
  1. パスワードなしのログインを構成した後、SSH コマンドを使用してクロスサーバー管理操作を実行できます。次の例は参照のみを目的としています:
(1) リモート実行コマンド:

ssh user@remote_server 'command'
ログイン後にコピー

ここで、

userはリモート サーバー上のユーザー名です。 ##remote_serverはリモート サーバーの IP アドレスまたはドメイン名、commandはリモート サーバー上で実行されるコマンドです。(2) ファイルのコピー:

ローカル ファイルをリモート サーバーにコピー:

scp local_file user@remote_server:remote_path
ログイン後にコピー

リモート サーバー上のファイルをローカルにコピー:

scp user@remote_server:remote_file local_path
ログイン後にコピー

このうち、

local_file

はローカル ファイルへのパス、remote_pathはリモート サーバー上のファイルへのパス、remote_fileはリモート サーバー上のファイル パスです。 server,local_pathはローカル ディレクトリへのパスです。

バッチ管理:
    複数のサーバーをバッチで管理する必要がある場合は、ループ構造と SSH コマンドを使用してサーバー リストを横断して操作できます。次の例は参照のみを目的としています:

  1. #!/bin/bash servers=("server1" "server2" "server3") for server in "${servers[@]}" do ssh user@$server 'command' done
    ログイン後にコピー
    ここで、servers

    はサーバー リスト、userはリモート サーバー上のユーザー名、commandは、リモート サーバー上で実行されるコマンドです。上記の手順により、SSH プロトコルを使用して、サーバー間の Linux SysOps 管理を実現できます。この方法により、管理効率が向上し、手作業の負担が軽減されます。同時にコード例を検討することで、実態に応じた拡張・最適化が可能となり、管理業務の柔軟性と信頼性が向上します。

    以上がSSH 経由でクロスサーバー Linux SysOps 管理を実現する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!