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

Pengecualian 'Pelayan Tidak Diketahui' Paramiko: Bagaimana untuk Membetulkannya?

Susan Sarandon
Susan Sarandonasal
2024-12-03 10:47:28377semak imbas

Paramiko

Pengecualian "Pelayan Tidak Diketahui" Paramiko: Penyelesaian Masalah dan Penyelesaian

Paramiko, perpustakaan Python yang popular, menyediakan antara muka untuk komunikasi SSH yang selamat. Walau bagaimanapun, apabila cuba menyambung ke pelayan menggunakan Paramiko, pengguna mungkin menghadapi pengecualian "Pelayan Tidak Diketahui". Pengecualian ini timbul apabila kunci hos pelayan tidak diketahui oleh klien.

Memahami Masalah

Pengecualian "Pelayan Tidak Diketahui" berlaku apabila klien SSH cuba menyambung kepada pelayan yang kunci hosnya tidak disimpan sama ada dalam sistem atau objek HostKeys setempat. Secara lalai, Paramiko menggunakan dasar yang menolak semua pelayan yang tidak diketahui (RejectPolicy).

Resolusi

Untuk menyelesaikan isu ini, seseorang boleh mengubah suai dasar yang digunakan semasa menyambung kepada yang tidak diketahui pelayan. Begini caranya:

  1. Import Paramiko:

    import paramiko
  2. Buat SSH Pelanggan:

    client = paramiko.SSHClient()
  3. Tetapkan AutoTambahPolisi:

    client.set_missing_host_key_policy(paramiko.AutoAddPolicy())
  4. Sambung ke Pelayan:

    client.connect('127.0.0.1', username=username, password=password)

Dengan menggunakan AutoAddPolicy, pelanggan SSH secara automatik menambah kunci hos pada senarai hosnya yang diketahui. Ini membolehkan sambungan berjaya walaupun kunci hos pelayan tidak diketahui sebelum ini.

Nota Tambahan

  • Selepas membuat sambungan, adalah disyorkan untuk menyimpan kunci hos ke fail untuk rujukan masa hadapan.
  • Anda juga boleh memuatkan kunci hos daripada fail menggunakan kaedah load_host_keys().

Dengan melaksanakan langkah-langkah ini, pengguna boleh mengatasi pengecualian "Pelayan Tidak Diketahui" dan mewujudkan sambungan SSH yang berjaya menggunakan Paramiko.

Atas ialah kandungan terperinci Pengecualian 'Pelayan Tidak Diketahui' Paramiko: Bagaimana untuk Membetulkannya?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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