Java - 使用公钥和密码进行身份验证 - j2ssh
如何使用公钥和密码连接到服务器(我有公钥并且我知道密码。 我正在使用 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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
当您实例化 SshPrivateKeyFile 时,您可以在该对象上调用 toPrivateKey 来创建 SshPrivateKey 对象。 toPrivateKey 方法采用一个字符串作为您的密码。如果您没有密码,请传递一个空字符串(或者我相信 null 也可以)。这是一个示例。
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.
您确定该服务器配置正确吗?如果将其设置为密钥身份验证,则除密钥库密码外不需要任何密码。尝试使用腻子或类似的东西进行连接。
我还建议您尝试 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.
检查 j2ssh 的 API 中的解密/加密方法。通常这些用于发送身份验证。
Check the API of j2ssh for decrypt/encrypt methods. Usually those are used to send for authentication.