Rumah > pembangunan bahagian belakang > Tutorial Python > Bagaimanakah Saya Boleh Melaksanakan Perintah Dari Jauh Melalui SSH Menggunakan Python?

Bagaimanakah Saya Boleh Melaksanakan Perintah Dari Jauh Melalui SSH Menggunakan Python?

Susan Sarandon
Lepaskan: 2024-11-04 18:10:02
asal
579 orang telah melayarinya

How Can I Execute Commands Remotely Over SSH Using 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>
Salin selepas log masuk

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>
Salin selepas log masuk

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>
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan