问题描述
基于docstring,此方法接受以下参数:
Docstring:Session.userauth_publickey_fromfile(self,username, privatekey ,passphrase ='',publickey = None)使用文件中的公钥进行身份验证。
但有这个例子:
session.userauth_publickey_fromfile(用户名, 'my_pkey.pub' ,'my_pkey','')
因此,在此示例中,第二个参数是公钥,但docstring表示它必须是私钥。
docstring中还有2个位置参数,但在给定的示例中有4个。
那么参数的正确组合是什么?
提前致谢。
PS此外,还不清楚哪个格式应该是privatekey和publickey所呈现的。它应该像文件或字节的路径一样吗? 如果是以字节为单位,那么整个函数为什么称为“_fromfile”? 非常混淆。
1楼
问题 :不清楚
privatekey
和publickey
是哪种格式
GitHub上的消息来源告诉我:
def userauth_publickey_fromfile(self, username not None, privatekey not None, passphrase='', publickey=None):
从 ,仅针对publickey
,解释了types
。
出于安全原因,私钥永远不应存储在python脚本中。
您必须从访问限制文件存储中读取它。
你是对的,参数应该在userauth_publickey(...)
解释。
文档userauth_publickey ...
2楼
终于找到了正确的参数组合:
session.userauth_publickey_fromfile(user, '<path to private key file>')
在我的情况下没有密码,所以没有提供。 不知道为什么作者以这种方式实现了这个功能。 “私钥”是强制归档的,随时可以从中生成公钥。 但是他们还为“publickey =”提供了额外的关键字参数。