SSH を通じてクロスサーバー Linux SysOps 管理を実現する方法
概要:
Linux システム管理では、多くの場合、複数のリモート サーバーを管理する必要があります。同時。 SSH (Secure Shell) プロトコルを通じて、クロスサーバー管理操作を実装できます。この記事では、SSH を使用してクロスサーバー Linux SysOps (システム運用および保守) 管理を実装する方法を紹介し、具体的なコード例を示します。
ssh-keygen -t rsa
これにより、公開キー ファイルと秘密キー ファイルのペアが生成され、ユーザーの.ssh## に保存されます。 # デフォルトではディレクトリ。公開キーのファイル名は
id_rsa.pub、秘密キーのファイル名は
id_rsaです。
id_rsa.pubを管理対象のリモート サーバーにコピーします:
ssh-copy-id -i ~/.ssh/id_rsa.pub user@remote_server
userはリモート サーバーのユーザー名、
remote_serverはリモート サーバーの IP アドレスまたはドメイン名です。
~/.ssh/authorized_keysファイルに追加します。
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
~/.sshディレクトリと
~/.ssh/authorized_keysファイルの権限:
chmod 700 ~/.ssh chmod 600 ~/.ssh/authorized_keys
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
はローカル ディレクトリへのパスです。
#!/bin/bash servers=("server1" "server2" "server3") for server in "${servers[@]}" do ssh user@$server 'command' done
はサーバー リスト、user
はリモート サーバー上のユーザー名、command
は、リモート サーバー上で実行されるコマンドです。上記の手順により、SSH プロトコルを使用して、サーバー間の Linux SysOps 管理を実現できます。この方法により、管理効率が向上し、手作業の負担が軽減されます。同時にコード例を検討することで、実態に応じた拡張・最適化が可能となり、管理業務の柔軟性と信頼性が向上します。
以上がSSH 経由でクロスサーバー Linux SysOps 管理を実現する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。