ホームページ >Java >&#&チュートリアル >JSch SFTP での Java `UnknownHostException: UnknownHostKey` エラーを解決する方法

JSch SFTP での Java `UnknownHostException: UnknownHostKey` エラーを解決する方法

DDD
DDDオリジナル
2024-12-03 16:59:11521ブラウズ

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

JSch SFTP ライブラリの Java UnknownHostKey エラーを解決する

Java SFTP を (JSch を使用して) 操作しているときに、「java.net」が発生する場合があります。 .UnknownHostException: UnknownHostKey」エラー。これは、ホスト キーのチェックが有効になっているために発生します。これにより、セキュリティ上の理由から不明なホストへの SSH 接続が妨げられます。

解決策

このエラーを解決するには、次の 2 つのオプションがあります。

オプション 1: ホスト キー チェックを無効にする (無効ではありません)推奨)

重要な注意事項: これは安全なソリューションではないため、テスト目的でのみ使用してください。

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

オプション 2:予想されるホスト キーのセットアップ (強く推奨)

このアプローチにより、接続中のセキュリティが確保されます。 SSH サーバー。

ssh-keyscan の使用 (Linux/Unix)

ssh-keyscan example.com > known_hosts

Windows の使用

Windows の入手Win32-OpenSSH プロジェクトまたは Git からの ssh-keyscan のビルドWindows の場合は、同じ手順に従います。

known_hosts ファイルを生成したら、JSch コードでそれを参照します。

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

または、次のこともできます。

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

これらのメソッドを利用すると、セキュリティを維持しながら UnknownHostKey エラーを回避できます。 Java SFTP 操作。ただし、ホスト キーのチェックを無効にすることはテスト目的でのみ推奨され、運用環境では避けるべきであることを覚えておくことが重要です。

以上がJSch SFTP での Java `UnknownHostException: UnknownHostKey` エラーを解決する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。