ssh2-python 包。 userauth_publickey_fromfile 方法的有效参数

ssh2-python package. Valid parameters for userauth_publickey_fromfile method

基于文档字符串,此方法接受以下参数:

Docstring: Session.userauth_publickey_fromfile(self, username, privatekey, passphrase='', publickey=None) Authenticate with public key from file.

但是official project description有这个例子:

session.userauth_publickey_fromfile( username, 'my_pkey.pub', 'my_pkey', '')

所以在这个例子中第二个参数是一个 public 密钥,但是文档字符串说它必须是一个私钥。

docstring 中还有 2 个位置参数,但在给定的示例中有 4 个。

那么正确的参数组合是怎样的呢?

提前致谢。

P.S。此外,目前还不清楚哪种格式应该是私钥和 public 密钥。它应该像文件路径还是字节路径?如果以字节为单位,那么为什么整个函数都称为“_fromfile”?很混乱。

终于找到了正确的参数组合:

session.userauth_publickey_fromfile(user, '<path to private key file>')

我没有密码,所以没有提供。 不知道作者为什么要这样实现这个功能。 "privatekey" 是必填字段,public 密钥可以随时从中生成。但他们也有额外的关键字参数 "publickey=".

Question: it is not clear which format should be the privatekey and the publickey


Source on GitHub tells:

def userauth_publickey_fromfile(self, 
                                username not None, 
                                privatekey not None, 
                                passphrase='', 
                                publickey=None):  

来自Documentation,仅针对publickeytypes进行了解释。
出于安全原因,私钥不应存储在 python 脚本中。 您必须从访问受限的文件存储中读取它。

你说得对,参数的解释应该和userauth_publickey(...)一样。

Documentation userauth_publickey...