Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimanakah Saya Boleh Melaksanakan Perintah Dari Jauh Melalui SSH Menggunakan Python?
Melaksanakan Perintah Melalui SSH dengan Python
Mengautomasikan pelaksanaan arahan pada mesin jauh ialah tugas biasa dalam pentadbiran sistem. Modul subproses Python boleh mengendalikan arahan tempatan, tetapi bagaimana jika anda perlu melaksanakan arahan pada hos jauh melalui SSH?
Untuk mengatasi cabaran ini, pertimbangkan untuk menggunakan pustaka Paramiko. Paramiko menyediakan set alat yang komprehensif untuk komunikasi SSH. Mari kita terokai cara menggunakan Paramiko untuk melaksanakan pelaksanaan arahan jauh.
Menggunakan Paramiko untuk Pelaksanaan Perintah Jauh
<code class="python">import paramiko # Connect to the remote host with username, password, and hostname ssh = paramiko.SSHClient() ssh.connect(hostname, username, password) # Execute a command using exec_command ssh_stdin, ssh_stdout, ssh_stderr = ssh.exec_command(command) # Handle output and error output print(ssh_stdout.read().decode()) print(ssh_stderr.read().decode()) # Close the connection ssh.close()</code>
Menggunakan Kekunci SSH untuk Pengesahan
Jika anda lebih suka menggunakan kekunci SSH untuk pengesahan, anda boleh melakukannya dengan menetapkan kunci menggunakan paramiko.RSAKey.from_private_key_file().
<code class="python">k = paramiko.RSAKey.from_private_key_file(keyfilename) ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy()) ssh.connect(hostname, username, pkey=k)</code>
Contoh Penggunaan
Sebagai contoh, anda boleh melaksanakan dan menangkap output arahan jauh dengan kod berikut:
<code class="python">ssh = paramiko.SSHClient() ssh.connect("remote_host", "username", "password") stdin, stdout, stderr = ssh.exec_command("df -h") output = stdout.read().decode() ssh.close() print(output)</code>
Dengan memanfaatkan kuasa Paramiko, anda boleh melaksanakan arahan dengan mudah, mendapatkan output, dan mengendalikan ralat pada mesin jauh dari keselesaan skrip Python anda.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Melaksanakan Perintah Dari Jauh Melalui SSH Menggunakan Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!