首页 > 解决方案 > ssh2-python 包。userauth_publickey_fromfile 方法的有效参数

问题描述

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

文档字符串:Session.userauth_publickey_fromfile(self, username, privatekey , passphrase='', publickey=None) 使用来自文件的公钥进行身份验证。

但是官方项目描述有这个例子:

session.userauth_publickey_fromfile(用户名,'my_pkey.pub','my_pkey','')

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

文档字符串中还有 2 个位置参数,但在给定示例中为 4 个。

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

提前致谢。

PS 此外,还不清楚应该以哪种格式呈现私钥和公钥。它应该像文件或字节的路径吗?如果它以字节为单位,那么为什么整个函数都称为“_fromfile”?非常混乱。

标签: pythonlibssh2

解决方案


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

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

在我的情况下没有密码,所以没有提供。不知道作者为什么这样实现这个功能。“私钥”是一个强制性文件,可以随时从中生成公钥。但他们也有“publickey=”的附加关键字参数。


推荐阅读