Python を使用した SSH コマンドの実行
Python スクリプト内から SSH 経由でリモート コマンドを実行すると、自動タスクを強化できます。これを実現する 1 つの方法は、paramiko モジュールの機能を活用することです。
質問: スクリプトには、既知のパスワードを使用してリモート サーバー上でコマンドを実行する機能が必要です。ユーザー名とリモート ホストを使用して ssh コマンドを呼び出すだけでなく、Python でこれを自動化するにはどうすればよいですか?
回答:
SSH 接続を確立し、コマンドをリモートで実行するにはparamiko を使用した Python では、次の手順に従います:
-
paramiko モジュールをインポートします: import paramiko
-
SSHClient インスタンスを作成します: ssh = paramiko .SSHClient()
-
リモートサーバーに接続します: ssh.connect(server, username=username,password=password)
-
コマンドの実行:
- ssh_stdin, ssh_stdout, ssh_stderr = ssh.exec_command(cmd_to_execute)
- これは、stdin、stdout、および stderr ストリームへのハンドルを含むタプルを返します。
-
コマンド出力の処理:
- stdout.read() はコマンドの出力を表示します。
-
SSH キー認証の場合:
- k = paramiko.RSAKey.from_private_key_file(keyfilename) または k = paramiko.DSSKey.from_private_key_file(keyfilename)
- ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
- ssh.connect(hostname=host, username=user, pkey=k)
以上がParamiko を使用して Python で SSH コマンドの実行を自動化する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。