Rumah > pembangunan bahagian belakang > Tutorial Python > Bagaimana untuk Menyelesaikan Pengecualian 'Pelayan Tidak Diketahui' Paramiko?

Bagaimana untuk Menyelesaikan Pengecualian 'Pelayan Tidak Diketahui' Paramiko?

DDD
Lepaskan: 2024-12-04 09:13:12
asal
671 orang telah melayarinya

How to Resolve Paramiko's

Pengecualian Pelayan Tidak Diketahui Paramiko: Selesai

Apabila bekerja dengan perpustakaan Paramiko, pengguna mungkin menghadapi pengecualian "Pelayan Tidak Diketahui", yang menghalang sambungan percubaan. Isu ini timbul apabila cuba menyambung ke pelayan tanpa kunci hos yang direkodkan dalam sistem atau objek HostKeys setempat.

Penyelesaian:

Untuk menyelesaikan pengecualian ini, anda perlu menetapkan dasar untuk digunakan apabila menyambung ke pelayan yang tidak diketahui. Secara lalai, Paramiko menolak semua pelayan yang tidak diketahui, tetapi anda boleh mengatasi tingkah laku ini menggunakan AutoAddPolicy.

Berikut ialah coretan kod Python yang disemak semula yang menambahkan penyelesaian AutoAddPolicy:

import paramiko

client = paramiko.SSHClient()
client.set_missing_host_key_policy(paramiko.AutoAddPolicy())
client.connect('127.0.0.1', username=username, password=password)
stdin, stdout, stderr = client.exec_command('ls -l')
Salin selepas log masuk

Dengan menetapkan AutoAddPolicy , Paramiko akan secara automatik menambah kunci hos pelayan yang tidak diketahui pada cache kunci hosnya, membenarkan masa depan sambungan tanpa pengecualian.

Pilihan Tambahan:

  • Menyimpan Kekunci Hos: Selepas sambungan berjaya, anda boleh menyimpan kunci hos dalam fail untuk masa hadapan rujukan:
ssh.get_host_keys().save('/some/file/path')
Salin selepas log masuk
  • Memuatkan Kekunci Hos: Untuk memuatkan kunci hos daripada fail untuk sambungan seterusnya:
ssh.load_host_keys('/some/file/path')
Salin selepas log masuk

Menggunakan teknik ini, anda boleh mewujudkan sambungan SSH selamat dengan Paramiko, walaupun ketika berurusan dengan pelayan tanpa hos berdaftar kunci.

Atas ialah kandungan terperinci Bagaimana untuk Menyelesaikan Pengecualian 'Pelayan Tidak Diketahui' Paramiko?. 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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan