公開鍵認証を使用してリモートサーバーにアクセスする
了解しました。公開鍵認証を使用してリモートサーバーにアクセスする場合、パスワードを入力することなくセキュアな接続が可能です。以下は、公開鍵認証を使用してリモートサーバーのメモリ情報を定期的に取得するPythonスクリプトの例です。
まず、ローカルマシンにSSHキーペアを作成し、公開鍵をリモートサーバーに転送します。
- SSHキーペアの生成:
ローカルで以下のコマンドを実行してSSHキーペアを生成します。bash ssh-keygen -t rsa -b 2048
デフォルトのファイルパスに鍵が生成されます。
- 公開鍵の転送:
生成された公開鍵をリモートサーバーに転送します。以下のコマンドで転送できます。bash ssh-copy-id <REMOTE_USER>@<REMOTE_SERVER_IP>
または、手動で公開鍵(
~/.ssh/id_rsa.pub)の内容をリモートサーバーの~/.ssh/authorized_keysファイルに追加することもできます。
次に、公開鍵認証を使用したPythonスクリプトを作成します。
python import paramiko import time
def get_remote_memory_info(hostname, username, private_key_path):
# SSHクライアントの作成
ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
try:
# 秘密鍵の指定
private_key = paramiko.RSAKey(filename=private_key_path)
# SSHでリモートサーバーに接続
ssh.connect(hostname, username=username, pkey=private_key)
while True:
# メモリ情報を取得
stdin, stdout, stderr = ssh.exec_command(“systeminfo | find “Total Physical Memory"""")

ディスカッション
コメント一覧
まだ、コメントがありません