Rumah >Java >javaTutorial >Bagaimana untuk Mengendalikan UnknownHostKeyException Java SFTP?

Bagaimana untuk Mengendalikan UnknownHostKeyException Java SFTP?

Barbara Streisand
Barbara Streisandasal
2024-12-08 00:04:14378semak imbas

How to Handle Java SFTP's UnknownHostKeyException?

Pengendalian Ralat untuk Java SFTP UnknownHostKeyException

Apabila menggunakan Java SFTP dengan perpustakaan JSch, anda mungkin menghadapi pengecualian UnknownHostKey. Ralat ini berlaku kerana maklumat kunci hos yang tidak sepadan. Penyelesaian melibatkan sama ada melangkau semakan kunci hos atau menyediakan kunci hos yang dijangkakan untuk pengesahan.

Melangkau Semakan Kunci Hos (Tidak Disyorkan)

Elakkan melumpuhkan semakan kunci hos dengan tetapkan "StrictHostKeyChecking" kepada "tidak" sebelum menyambung ke sesi. Pendekatan ini menjejaskan keselamatan dan hanya boleh digunakan untuk sambungan yang dipercayai.

Menyediakan Kunci Hos yang Dijangka

Untuk memastikan sambungan selamat, adalah penting untuk mengesahkan kunci hos terhadap nilai yang dijangkakan. Terdapat dua kaedah untuk mencapai ini:

  1. Fail Hos Diketahui:

    a. Hasilkan fail "seperti hos_yang dikenali" menggunakan perintah "imbasan kunci ssh" (cth., ssh-keyscan example.com > hos_yang diketahui).
    b. Tetapkan JSch untuk menggunakan fail hos yang diketahui: JSch.setKnownHosts("/path/to/known_hosts-like").

  2. Kunci Hos berkod keras:

    a. Dapatkan kunci hos yang dijangkakan dalam format yang serasi dengan JSch.getHostKeyRepository().add().
    b. Tambahkan kunci hos pada repositori: JSch.getHostKeyRepository().add(host, expectedHostKey).

Dengan menyediakan kunci hos yang diketahui atau berkod keras, JSch akan mengesahkan terhadap nilai yang dijangkakan dan wujudkan sambungan yang selamat.

Atas ialah kandungan terperinci Bagaimana untuk Mengendalikan UnknownHostKeyException Java 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