Rumah > Java > javaTutorial > Bagaimana untuk Menyelesaikan Ralat 'UnknownHostKey' dalam Java SFTP Menggunakan JSch?

Bagaimana untuk Menyelesaikan Ralat 'UnknownHostKey' dalam Java SFTP Menggunakan JSch?

Barbara Streisand
Lepaskan: 2024-12-21 04:05:09
asal
412 orang telah melayarinya

How to Resolve the

Menyelesaikan Ralat UnknownHostKey dalam Java SFTP Menggunakan JSch

Ralat "UnknownHostKey" berlaku apabila JSch menemui kunci hos yang tidak diketahui semasa membuat sambungan SFTP . Untuk menyelesaikan isu ini, anda perlu menyediakan JSch dengan kunci hos yang dijangkakan untuk pengesahan.

Menetapkan StrictHostKeyChecking

Pada mulanya, anda cuba melumpuhkan semakan kunci hos dengan menetapkan " StrictHostKeyChecking" kepada "tidak" sebelum menyambung ke pelayan SFTP. Ini adalah risiko keselamatan dan tidak boleh dilakukan melainkan benar-benar perlu.

Pendekatan yang Betul: Menetapkan Kunci Hos yang Dijangka

Sebaliknya, anda harus menyediakan kunci hos yang dijangkakan untuk JSch untuk mengesahkan terhadap. Terdapat dua kaedah utama untuk mencapai ini:

Menggunakan Fail known_hosts

  • Janakan fail ".ssh/known_hosts-like" menggunakan "ssh-keyscan" arahan.
  • Tetapkan laluan ke fail ini menggunakan "JSch.setKnownHosts()" sebelum mewujudkan sesi SFTP.
ssh-keyscan example.com > known_hosts
JSch.setKnownHosts("path/to/known_hosts");
Salin selepas log masuk

Menggunakan HostKeyRepository

  • Buat contoh HostKey secara manual menggunakan kunci awam yang diharapkan.
  • Tambahkan HostKey pada HostKeyRepository menggunakan "JSch.getHostKeyRepository().add()".
// Create HostKey from public key
HostKey key = new HostKey("example.com", "rsa", ...);

// Add HostKey to repository
JSch.getHostKeyRepository().add(key);
Salin selepas log masuk

Nota: Kedua-dua pendekatan memastikan JSch boleh mengesahkan ketulenan pelayan SFTP menggunakan kunci hos yang dijangkakan , dengan itu menyelesaikan ralat "UnknownHostKey".

Atas ialah kandungan terperinci Bagaimana untuk Menyelesaikan Ralat 'UnknownHostKey' dalam Java SFTP Menggunakan JSch?. 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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan