com.jcraft.jsch.JSchException: UnknownHostKey 質問する

com.jcraft.jsch.JSchException: UnknownHostKey 質問する

Java で SSH 接続を確立するためにJschを使用しようとしています。コードによって次の例外が発生します。

com.jcraft.jsch.JSchException: UnknownHostKey: mywebsite.example.
RSA key fingerprint is 22:fb:ee:fe:18:cd:aa:9a:9c:78:89:9f:b4:78:75:b4

Jsch ドキュメントでホスト キーを確認する方法が見つかりません。以下にコードを記載しました。

import com.jcraft.jsch.JSch;
import com.jcraft.jsch.Session;

public class ssh {
    public static void main(String[] arg) {

        try {
            JSch jsch = new JSch();

            //create SSH connection
            String host = "mywebsite.example";
            String user = "username";
            String password = "123456";

            Session session = jsch.getSession(user, host, 22);
            session.setPassword(password);
            session.connect();

        } catch(Exception e) {
            System.out.println(e);
        }
    }
}

ベストアンサー1

私なら、次のいずれかを行います:

  1. コマンドラインから試してssh公開キーを受け入れてください(ホストが追加され~/.ssh/known_hosts、Jsch からすべてが正常に動作するはずです)-または-
  2. 次のコードを使用して、JSch が「StrictHostKeyChecking」を使用しないように設定します (これにより安全性が損なわれるため、テスト目的でのみ使用する必要があります)。

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

オプション 1 (ファイルにホストを追加する~/.ssh/known_hosts) が私の好みです。

おすすめ記事