Cara menggunakan modul paramiko untuk pengaturcaraan klien SSH dalam Python 3.x

WBOY
Lepaskan: 2023-08-02 23:28:51
asal
1845 orang telah melayarinya

Cara menggunakan modul paramiko untuk pengaturcaraan klien SSH dalam Python 3.x

Ikhtisar:
SSH (Secure Shell) ialah protokol rangkaian yang digunakan untuk menjalankan sesi shell dengan selamat melalui sambungan rangkaian yang tidak selamat. paramiko ialah modul Python yang menyediakan pelaksanaan klien dan pelayan SSH. Artikel ini akan memperkenalkan cara menggunakan modul paramiko untuk pengaturcaraan klien SSH dalam Python 3.x untuk memudahkan sambungan dan operasi dengan pelayan jauh.

Langkah 1: Pasang modul paramiko
Sebelum bermula, anda perlu memasang modul paramiko. Anda boleh menggunakan arahan pip untuk memasang:

pip install paramiko
Salin selepas log masuk

Langkah 2: Import modul paramiko
Pertama, anda perlu mengimport modul paramiko untuk menggunakannya dalam kod Python.

import paramiko
Salin selepas log masuk

Langkah 3: Cipta objek klien SSH
Seterusnya, anda perlu mencipta objek klien SSH. Cipta menggunakan kaedah SSHClient() modul paramiko.

client = paramiko.SSHClient()
Salin selepas log masuk

Langkah 4: Tetapkan parameter sambungan
Sebelum menyambung, anda perlu menetapkan parameter sambungan, termasuk alamat pelayan, nombor port, nama pengguna dan kata laluan. Dasar untuk pengesahan kunci hos pelayan boleh ditetapkan menggunakan kaedah set_missing_host_key_policy bagi objek klien. Dasar AutoAddPolicy() digunakan di sini untuk menambah kunci hos baharu secara automatik.

client.set_missing_host_key_policy(paramiko.AutoAddPolicy())
Salin selepas log masuk

Langkah 5: Sambung ke pelayan jauh
Gunakan kaedah sambung objek klien untuk menyambung ke pelayan jauh.

client.connect('服务器地址', port=端口号, username='用户名', password='密码')
Salin selepas log masuk

Langkah 6: Jalankan arahan jauh
Selepas sambungan berjaya, anda boleh menggunakan kaedah exec_command objek klien untuk melaksanakan arahan jauh. Kaedah ini mengembalikan triplet yang mengandungi input standard, output standard dan ralat standard hasil pelaksanaan.

stdin, stdout, stderr = client.exec_command('要执行的远程命令')
Salin selepas log masuk

Langkah 7: Proses hasil pelaksanaan
Anda boleh menggunakan kaedah baca objek output standard untuk membaca hasil pelaksanaan arahan, dan gunakan kaedah nyahkod untuk menukarnya menjadi rentetan.

output = stdout.read().decode('utf-8')
Salin selepas log masuk

Langkah 8: Tutup sambungan SSH
Selepas menyelesaikan operasi, sambungan SSH harus ditutup untuk melepaskan sumber.

client.close()
Salin selepas log masuk

Kod Contoh:
Berikut ialah contoh kod ringkas yang menunjukkan cara menggunakan modul paramiko untuk pengaturcaraan klien SSH.

import paramiko

# 创建SSH客户端对象
client = paramiko.SSHClient()

# 设置连接参数
client.set_missing_host_key_policy(paramiko.AutoAddPolicy())

# 连接到远程服务器
client.connect('服务器地址', port=端口号, username='用户名', password='密码')

# 执行远程命令
stdin, stdout, stderr = client.exec_command('要执行的远程命令')

# 处理执行结果
output = stdout.read().decode('utf-8')
print(output)

# 关闭SSH连接
client.close()
Salin selepas log masuk

Ringkasan:
Artikel ini memperkenalkan cara menggunakan modul paramiko untuk pengaturcaraan klien SSH. Dengan mencipta objek klien SSH, menetapkan parameter sambungan, menyambung ke pelayan jauh, melaksanakan arahan jauh dan menutup sambungan SSH, anda boleh menyambung dan mengendalikan pelayan jauh dengan mudah. Saya harap artikel ini akan membantu anda memahami dan menggunakan modul paramiko.

Atas ialah kandungan terperinci Cara menggunakan modul paramiko untuk pengaturcaraan klien SSH dalam Python 3.x. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan