1

私はこれに多くの問題を抱えています。

次のコードがあります

            try {
        final SSHClient ssh = new SSHClient();
        PKCS8KeyFile keyFile = new PKCS8KeyFile();
        keyFile.init(new File(Thread.currentThread().getContextClassLoader().getResource("development.pem").toURI()));
        ssh.loadKnownHosts();
        ssh.addHostKeyVerifier("ec2-XX-XX-XX-XX.compute-1.amazonaws.com", 22, "ff:59:aa:24:42:b1:a0:9f:c9:4c:73:34:fb:95:53:c2:b8:37:a8:f8");
//      ssh.addHostKeyVerifier("ec2-XX-XX-XX-XX.compute-1.amazonaws.com", 22, "90:1e:4d:09:42:c4:16:8a:4c:dc:ae:c2:60:14:f9:ea");
        ssh.connect("ec2-XX-XX-XX-XX.compute-1.amazonaws.com");
        ssh.auth("ec2-user", new AuthPublickey(keyFile));
        Session session = ssh.startSession();
        Command sudo = session.exec("sudo su -");
        System.out.println("sudo=" +sudo.getOutputAsString());
        Command whoami = session.exec("whoami");
        System.out.println("whoami=" + whoami.getOutputAsString());
        } catch (Exception e) {
            e.printStackTrace();
        }

最初の addHostKeyVerifier は AWS コンソールでフィンガープリントを使用しています。どこから正しいキーを取得するつもりですか。

2番目のキーを使用すると、検証に合格し、その後失敗します。

SSHJ バージョン 0.8.1 を使用しています

4

1 に答える 1