0

...またはそうでない場合は、完全なアルゴリズムへのリンクまたはRFC番号を提供できますか(ASCIIエンコードされた秘密鍵ファイル/文字列の取得からASCIIエンコードされた公開鍵ファイル/文字列の生成まで)。

全体像を示すために、pylibssh2 ライブラリの使用を開始しました。このライブラリには、userauth_publickey_fromfile というメソッドがあります (NotImplementedException が発生しますが、Python バインディングを強制的に起動すると動作します)。問題は、このメソッドが秘密鍵 (良い) と公開鍵 (理由はわかっています) を必要とすることです。もちろん、これらのキーの両方を引数として関数に渡すことができますが、それは不要だと思います。そのためだけにもう 1 つの変数を期待したくありません。だから私は自分で秘密鍵から公開鍵を生成したい.

たぶん、pylibssh2 または libssh2 自体に何かが欠けているのかもしれません (そのためのバインディングも作成できます)。

助けてくれてありがとう!

4

3 に答える 3

2

答えが厳密にpythonである必要がありますか?これを行うことができますssh-keygen -y -f privatekey

于 2010-10-06T19:32:33.380 に答える
0

どのように機能するのかわかりませんが、http: //github.com/wallix/pylibssh2/blob/master/libssh2/session.pyuserauth_publickey_fromfile()によると、このメソッドはキー自体ではなく、キー ファイルのパスを想定しています。

秘密鍵が自分のものである場合、公開鍵と秘密鍵の両方が ~/.ssh ディレクトリに存在する必要があります。

秘密鍵と公開鍵はペアでのみ作成できます。そのうちの 1 つを別の 1 つから導き出すことができれば、暗号の世界は爆発するでしょう。

公開鍵は、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 に答える