1

如何使用公钥和密码连接到服务器(我有公钥,我知道密码。我正在使用 com.sshtools.j2ssh 库,但我看不到设置密码的选项。问题是,即使虽然我有公钥,但服务器一直要求输入密码。

谢谢。罗恩。

4

3 回答 3

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);
于 2011-07-04T14:40:27.470 回答
0

检查 j2ssh 的 API 以获取解密/加密方法。通常这些用于发送身份验证。

于 2011-07-04T13:09:37.433 回答
0

您确定该服务器配置正确吗?如果它设置为 key auth,则除了 keystore 密码外,不需要密码。尝试使用腻子或类似的东西进行连接。我还建议您尝试Ganymed SSH我已经在几个项目中使用过它,即使使用隧道、scp 等非常高级的功能也没有问题。

于 2011-07-04T15:27:10.930 回答