当前位置: 代码迷 >> python >> ssh2-python包。 userauth_publickey_fromfile方法的有效参数
  详细解决方案

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

热度:68   发布时间:2023-06-19 09:32:45.0

基于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”? 非常混淆。

问题 :不清楚privatekeypublickey是哪种格式


GitHub上的消息来源告诉我:

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

从 ,仅针对publickey ,解释了types
出于安全原因,私钥永远不应存储在python脚本中。 您必须从访问限制文件存储中读取它。

你是对的,参数应该在userauth_publickey(...)解释。

文档userauth_publickey ...

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

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

在我的情况下没有密码,所以没有提供。 不知道为什么作者以这种方式实现了这个功能。 “私钥”是强制归档的,随时可以从中生成公钥。 但是他们还为“publickey =”提供了额外的关键字参数。