Java中的ssh-keygen命令从私钥中提取公钥

阳光明媚的

我正在尝试使用Java的Runtime.getRuntime()。exec()使用ssh-keygen linux实用程序从私钥中提取公钥。

当我在终端上运行此命令时,它可以完美运行,并且能够从RSA私钥中提取公钥。

ssh-keygen -y -f /home/useraccount/private.txt > /home/useraccount/public.txt

但是,当我使用Java运行相同的命令时,它不会创建public.txt文件。它也不会引发任何错误。

Process p = Runtime.getRuntime().exec("ssh-keygen -y -f /home/useraccount/private.txt > /home/useraccount/public.txt");
p.waitFor();

我想知道为什么呢?

dave_thompson_085

并不是真正的答案,因为我不必花时间测试,而是选择基本选项:

// example code with no exception handling; add as needed for your program

String cmd = "ssh-keygen -y -f privatefile";
File out = new File ("publicfile"); // only for first two methods

//// use the stream ////
Process p = Runtime.exec (cmd);
Files.copy (p.getInputStream(), out.toPath());
p.waitFor(); // just cleanup, since EOF on the stream means the subprocess is done

//// use redirection ////
ProcessBuilder b = new ProcessBuilder (cmd.split(" "));
b.redirectOutput (out);
Process p = b.start(); p.waitFor();

//// use shell ////
Process p = Runtime.exec ("sh", "-c", cmd + " > publicfile");
// all POSIX systems should have an available shell named sh but 
// if not specify an exact name or path and change the -c if needed 
p.waitFor(); 

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

为SSH生成私钥+公钥对:ssh-keygen和openssl之间的区别?

来自分类Dev

如何从SSH私钥中检索公钥?

来自分类Dev

如何从SSH私钥中检索公钥?

来自分类Dev

使用libssh从消息中提取SSH公钥

来自分类Dev

使用ssh-keygen -y -f(.pem)(.pub)将私钥更改为公钥时,出现以下错误消息

来自分类Dev

如何从C#中的.Net DLL中提取公钥?

来自分类Dev

SSH不使用公钥/私钥

来自分类Dev

如何替换ssh私钥-公钥对?

来自分类Dev

ssh从备份的私钥中获取旧的公钥

来自分类Dev

从比特币私钥中检索公钥

来自分类Dev

无法在OpenSSL中设置公钥/私钥

来自分类Dev

IT安全中公钥和私钥的基础

来自分类Dev

GnuPG / OpenGPG:从私钥中恢复公钥

来自分类Dev

仅使用nodejs / javascript从私钥pem中提取公钥

来自分类Dev

CryptoAPI-如何从私钥中提取RSA公钥

来自分类Dev

仅使用nodejs / javascript从私钥pem中提取公钥

来自分类Dev

如何使用OpenSSL从.cer中提取RSA公钥并将其存储在.pem中?

来自分类Dev

如何从nodejs中身份服务器4的jwk返回中提取公钥?

来自分类Dev

设置用于Linux登录(非SSH)的公钥/私钥对

来自分类Dev

使用公钥/私钥的ssh身份验证失败

来自分类Dev

具有公钥/私钥的java-jwt

来自分类Dev

是否可以从GPG公钥中恢复私钥?

来自分类Dev

如何在SJCL中实现公钥/私钥加密?

来自分类Dev

是否可以从GPG公钥中恢复私钥?

来自分类Dev

Google Cloud 和 WinSCP 中的公钥和私钥

来自分类Dev

在Java中生成公钥和私钥会生成所有私钥和公钥的相似开始

来自分类Dev

ssh服务器如何知道哪个公钥与ssh私钥匹配?

来自分类Dev

为什么不先生成ssh公钥/私钥就可以进行ssh连接?

来自分类Dev

如果未指定公钥,`ssh-keygen -r`会做什么?

Related 相关文章

  1. 1

    为SSH生成私钥+公钥对:ssh-keygen和openssl之间的区别?

  2. 2

    如何从SSH私钥中检索公钥?

  3. 3

    如何从SSH私钥中检索公钥?

  4. 4

    使用libssh从消息中提取SSH公钥

  5. 5

    使用ssh-keygen -y -f(.pem)(.pub)将私钥更改为公钥时,出现以下错误消息

  6. 6

    如何从C#中的.Net DLL中提取公钥?

  7. 7

    SSH不使用公钥/私钥

  8. 8

    如何替换ssh私钥-公钥对?

  9. 9

    ssh从备份的私钥中获取旧的公钥

  10. 10

    从比特币私钥中检索公钥

  11. 11

    无法在OpenSSL中设置公钥/私钥

  12. 12

    IT安全中公钥和私钥的基础

  13. 13

    GnuPG / OpenGPG:从私钥中恢复公钥

  14. 14

    仅使用nodejs / javascript从私钥pem中提取公钥

  15. 15

    CryptoAPI-如何从私钥中提取RSA公钥

  16. 16

    仅使用nodejs / javascript从私钥pem中提取公钥

  17. 17

    如何使用OpenSSL从.cer中提取RSA公钥并将其存储在.pem中?

  18. 18

    如何从nodejs中身份服务器4的jwk返回中提取公钥?

  19. 19

    设置用于Linux登录(非SSH)的公钥/私钥对

  20. 20

    使用公钥/私钥的ssh身份验证失败

  21. 21

    具有公钥/私钥的java-jwt

  22. 22

    是否可以从GPG公钥中恢复私钥?

  23. 23

    如何在SJCL中实现公钥/私钥加密?

  24. 24

    是否可以从GPG公钥中恢复私钥?

  25. 25

    Google Cloud 和 WinSCP 中的公钥和私钥

  26. 26

    在Java中生成公钥和私钥会生成所有私钥和公钥的相似开始

  27. 27

    ssh服务器如何知道哪个公钥与ssh私钥匹配?

  28. 28

    为什么不先生成ssh公钥/私钥就可以进行ssh连接?

  29. 29

    如果未指定公钥,`ssh-keygen -r`会做什么?

热门标签

归档