Rumah >Java >javaTutorial >Bagaimana untuk Menyelesaikan Ralat Java `UnknownHostException: UnknownHostKey` dalam JSch SFTP?

Bagaimana untuk Menyelesaikan Ralat Java `UnknownHostException: UnknownHostKey` dalam JSch SFTP?

DDD
DDDasal
2024-12-03 16:59:11485semak imbas

How to Resolve the Java `UnknownHostException: UnknownHostKey` Error in JSch SFTP?

Menyelesaikan Ralat Java UnknownHostKey dalam Perpustakaan SFTP JSch

Apabila bekerja dengan Java SFTP (menggunakan JSch), anda mungkin menghadapi 'java.net .UnknownHostException: Ralat UnknownHostKey'. Ini berlaku kerana semakan kunci hos didayakan, yang menghalang sambungan SSH ke hos yang tidak diketahui atas sebab keselamatan.

Penyelesaian

Untuk menyelesaikan ralat, anda mempunyai dua pilihan:

Pilihan 1: Lumpuhkan Pemeriksaan Kunci Hos (Tidak Disyorkan)

Peringatan Penting: Ini bukan penyelesaian yang selamat dan hanya boleh digunakan untuk tujuan ujian.

java.util.Properties config = new java.util.Properties(); 
config.put("StrictHostKeyChecking", "no");
session.setConfig(config);

Pilihan 2: Sediakan Kunci Hos yang Dijangka (Sangat Disyorkan)

Pendekatan ini memastikan keselamatan semasa menyambung ke pelayan SSH.

Menggunakan ssh-keyscan (Linux/Unix)

ssh-keyscan example.com > known_hosts

Menggunakan Windows

Dapatkan binaan Windows ssh-keyscan daripada projek Win32-OpenSSH atau Git untuk Windows, kemudian ikuti langkah yang sama.

Setelah anda menjana fail known_hosts, rujuknya dalam kod JSch anda:

JSch jsch = new JSch();
jsch.setKnownHosts("/path/to/known_hosts");

Sebagai alternatif, Anda Boleh:

JSch.getHostKeyRepository().add(...) // Provide the expected host key manually

Dengan menggunakan kaedah ini, anda boleh memintas ralat UnknownHostKey sambil mengekalkan keselamatan dalam Java anda operasi SFTP. Walau bagaimanapun, adalah penting untuk diingat bahawa melumpuhkan semakan kunci hos hanya dinasihatkan untuk tujuan ujian dan harus dielakkan dalam persekitaran pengeluaran.

Atas ialah kandungan terperinci Bagaimana untuk Menyelesaikan Ralat Java `UnknownHostException: UnknownHostKey` dalam JSch SFTP?. 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