ssh 私钥/公钥身份验证示例
谁能给我一个 sshj 中私钥/公钥身份验证的示例?
在 sshj 中,命令行相当于什么,
ssh -i /path/to/mykey.private username@host
我尝试过(省略了错误处理),
final SSHClient ssh = new SSHClient();
ssh.loadKnownHosts();
ssh.connect("host");
ssh.authPublickey("username", "/path/to/mykey.private");
final Session session = ssh.startSession();
...
但在日志语句中我看到了,
DEBUG net.schmizz.sshj.SSHClient - Attempting to load key from: /path/to/mykey.private
WARN net.schmizz.sshj.SSHClient - Could not load keys due to: {}
net.schmizz.sshj.common.SSHException: No provider available forUnknown key file
at net.schmizz.sshj.SSHClient.loadKeys(SSHClient.java:482) ~[sshj-0.3.0.jar:na]
...
Exception in thread "main" 10:49:55.943 [reader] DEBUG
net.schmizz.sshj.transport.Reader - Stopping
net.schmizz.sshj.userauth.UserAuthException: Exhausted available authentication methods
谢谢, 埃弗里特
Can anyone give me an example of private/public key authentication in sshj?
In sshj what's the command line equivalent of,
ssh -i /path/to/mykey.private username@host
I tried (error handling omitted),
final SSHClient ssh = new SSHClient();
ssh.loadKnownHosts();
ssh.connect("host");
ssh.authPublickey("username", "/path/to/mykey.private");
final Session session = ssh.startSession();
...
but in the log statements I see,
DEBUG net.schmizz.sshj.SSHClient - Attempting to load key from: /path/to/mykey.private
WARN net.schmizz.sshj.SSHClient - Could not load keys due to: {}
net.schmizz.sshj.common.SSHException: No provider available forUnknown key file
at net.schmizz.sshj.SSHClient.loadKeys(SSHClient.java:482) ~[sshj-0.3.0.jar:na]
...
Exception in thread "main" 10:49:55.943 [reader] DEBUG
net.schmizz.sshj.transport.Reader - Stopping
net.schmizz.sshj.userauth.UserAuthException: Exhausted available authentication methods
Thanks,
Everett
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
尝试像这样使用 KeyPairWrapper :
通过 BouncyCastle 提供程序,您可以使用类似的方法从 PKCS8 PEM 中提取密钥对(对混乱的代码表示歉意)
Try using
KeyPairWrapper
like this:With the BouncyCastle provider you can use something like this to extract a KeyPair from a PKCS8 PEM (apologies for the messy code)
您需要包含大多数关键类型的 BouncyCastle 库。这是 Maven 依赖项:
org.bouncycastle
bcprov-jdk16
1.46
You need to include BouncyCastle lib for most key types. Here's the Maven dependency:
org.bouncycastle
bcprov-jdk16
1.46