如何使用公钥和密码连接到服务器(我有公钥,我知道密码。 我正在使用com.sshtools.j2ssh库,但我看不到设置密码的选项。 问题是,即使我有公钥,服务器仍然要求密码。
感谢。 罗恩。
答案 0 :(得分:3)
当您实例化SshPrivateKeyFile时,您可以在该对象上调用toPrivateKey来创建SshPrivateKey对象。 toPrivateKey方法采用一个字符串作为您的密码。如果你没有密码短语,请传递一个空字符串(或者我相信也可以使用null)。这是一个样本。
PublicKeyAuthenticationClient sshClient = new PublicKeyAuthenticationClient();
SshPrivateKeyFile sshPrivKeyFile = SshPrivateKeyFile.parse(new File(keyFile));
SshPrivateKey sshPrivKey = sshPrivKeyFile.toPrivateKey("passphrase");
sshClient.setKey(sshPrivKey);
答案 1 :(得分:0)
检查j2ssh的API以获取解密/加密方法。通常那些用于发送身份验证。
答案 2 :(得分:0)
您确定,该服务器配置正确吗?如果设置为密钥验证,则除密钥库密码外不需要密码。尝试使用putty或类似的东西进行连接。 我还建议你尝试Ganymed SSH我已经在几个项目中使用过它,即使使用隧道,scp等非常先进的功能也没有问题。