0

...如果没有,您能否向我提供完整算法的链接或 RFC 编号(从获取 ASCII 编码的私钥文件/字符串到生成 ASCII 编码的公钥文件/字符串)。

为了向您展示更大的图景 - 我开始使用 pylibssh2 库。这个库有一个方法——userauth_publickey_fromfile(它会引发 NotImplementedException,但是当你强制启动 python 绑定时——它可以工作)。问题是这种方法需要私钥(好)和公钥(知道为什么)。当然,我可以将这两个键都作为参数传递给我的函数,但我认为这是不必要的,我不想仅仅为此期待一个变量。所以我想自己从私钥生成公钥。

也许我在 pylibssh2 甚至在 libssh2 本身中遗漏了一些东西(我也可以为此编写绑定)?

谢谢你的帮助!

4

3 回答 3

2

你需要答案是严格的python吗?你可以这样做ssh-keygen -y -f privatekey

于 2010-10-06T19:32:33.380 回答
0

我不知道您是如何userauth_publickey_fromfile()工作的,但是根据http://github.com/wallix/pylibssh2/blob/master/libssh2/session.py,此方法需要密钥文件的路径,而不是密钥本身。

如果私钥是你的,那么公钥和私钥都应该驻留在你的 ~/.ssh 目录中。

私钥和公钥只能成对创建。如果你能设法从另一个中派生出其中一个,密码宇宙就会爆炸。

公钥必须对 SSH 连接的另一端可用。因此,除了私钥之外,此方法还需要它。

于 2010-10-07T02:20:14.180 回答
0
import commands
cmd = "ssh-keygen -y -f %s" % (file)
return commands.getstatusoutput(cmd)[1]
于 2016-07-15T13:30:58.320 回答