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')
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:
ssh.get_host_keys().save('/some/file/path')
ssh.load_host_keys('/some/file/path')
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!