错误代码导致libssh2_userauth_publickey_fromfile()失败
-19 (LIBSSH2_ERROR_PUBLICKEY_UNVERIFIED).
我希望只使用公钥身份验证方法(而不是基于密码的身份验证)。密码身份验证工作正常。
系统:Windows 2019
API调用:
libssh2_userauth_publickey_fromfile(session, username, keyfile1, keyfile2, password)我在C文件中将keyfile1和keyfile2定义为:
const char *keyfile1 = "C:\\Users\\Administrator\\.ssh\\id_rsa.pub";
const char *keyfile2 = "C:\\Users\\Administrator\\.ssh\\id_rsa";我怀疑它必须对Windows上的关键文件进行EOL处理(这个调用在我的Linux系统(具有适当的关键文件位置)上运行得很好)。
对于如何从密钥文件中删除EOL或额外的空间以使libssh2 API调用成功,有什么想法吗?
发布于 2020-08-02 11:33:20
在libssh2/libssh2 issue 68之后,首先检查使用的libssh2版本。
对于旧版本,请尝试使用key following the old PEM format
ssh-keygen -m PEM -t rsa -P "" -f afile https://stackoverflow.com/questions/60182113
复制相似问题