使用ssh-rsa-cert-v01类型的证书进行ssh证书身份验证

时间:2019-12-23 13:04:29

标签: ssh certificate openssh ssh-keygen

我已经使用ssh-keygen创建了一个证书,但是在maverick最新软件包中找不到合适的方法来建立连接..尽管maverick提供了该功能。我在哪里 加载我的私钥和证书?由于我无法使用密钥库,该密钥库用于维护X.509类型的证书。请让我知道用于验证ssh-rsa-cert-v01类型证书的方法。

1 个答案:

答案 0 :(得分:0)

您需要像加载任何公钥一样加载证书。这意味着加载以“ -cert.pub”结尾的证书文件

    SshPublicKey publicKey = SshKeyUtils.getPublicKey(
          new File("user_key-cert.pub"));
    SshPrivateKey privateKey = SshKeyUtils.getPrivateKey(
          new File("user_key"), "xxx"));

    SshKeyPair pair = new SshKeyPair();
    pair.setPrivateKey(privateKey);
    pair.setPublicKey(publicKey);

然后,您可以像使用任何普通的SSH密钥一样提供用于身份验证的

    // Create SshClient
    SshClient ssh = SshConnector.createInstance()
           .connect(new SocketTransport("host", 22), "user"));
    ssh.authenticate(new PublicKeyAuthentication(pair));