Java - 使用公钥和密码进行身份验证 - j2ssh

发布于 2024-11-18 11:54:24 字数 115 浏览 5 评论 0原文

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

谢谢。 罗恩.

How do I connect to server with public key and passphrase (I have the public key and I know the passphrase.
I'm using com.sshtools.j2ssh library but I can't see an option to set passphrase.
The problem is, even though I have the public key, the server keep asking for passphrase.

Thanks.
Ron.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

诗笺 2024-11-25 11:54:24

当您实例化 SshPrivateKeyFile 时,您可以在该对象上调用 toPrivateKey 来创建 SshPrivateKey 对象。 toPrivateKey 方法采用一个字符串作为您的密码。如果您没有密码,请传递一个空字符串(或者我相信 null 也可以)。这是一个示例。

PublicKeyAuthenticationClient sshClient = new PublicKeyAuthenticationClient();

SshPrivateKeyFile sshPrivKeyFile = SshPrivateKeyFile.parse(new File(keyFile));
SshPrivateKey sshPrivKey = sshPrivKeyFile.toPrivateKey("passphrase");
sshClient.setKey(sshPrivKey);

When you instantiate the SshPrivateKeyFile you can then call toPrivateKey on that object to create a SshPrivateKey object. That toPrivateKey method takes a string that is your passphrase. If you do not have a passphrase, pass an empty string (or a null I believe works also). Here is a sample.

PublicKeyAuthenticationClient sshClient = new PublicKeyAuthenticationClient();

SshPrivateKeyFile sshPrivKeyFile = SshPrivateKeyFile.parse(new File(keyFile));
SshPrivateKey sshPrivKey = sshPrivKeyFile.toPrivateKey("passphrase");
sshClient.setKey(sshPrivKey);
遗失的美好 2024-11-25 11:54:24

您确定该服务器配置正确吗?如果将其设置为密钥身份验证,则除密钥库密码外不需要任何密码。尝试使用腻子或类似的东西进行连接。
我还建议您尝试 Ganymed SSH 我在几个项目中使用过它,但没有即使使用非常先进的功能(如隧道、scp 等)也会出现问题。

Are you sure, that server is properly configured? If it's set to key auth no password should be needed except keystore password. Try to connect using putty or something like that.
I also recommend you to try Ganymed SSH I have used it in couple of projects and there was no problems with that even using quite advanced features such tunnels, scp, etc.

凡间太子 2024-11-25 11:54:24

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

Check the API of j2ssh for decrypt/encrypt methods. Usually those are used to send for authentication.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文