我正在尝试编写一个脚本,该脚本通过公钥身份验证将数据发送到 sftp 服务器。我为此使用 cURL。
经过一些尝试和错误后,我得到了一个有效的连接,但输出如下:
* SSH authentication methods available: publickey,gssapi-keyex,gssapi-with-mic
* Using ssh public key file pub.key
* Using ssh private key file private.ppk
* SSH public key authentication failed: Invalid key data, not base64 encoded
* Agent based authentication successful
* Authentication complete
它在我的笔记本电脑上工作,所以我只是试图让脚本运行给我的同事,但在她的笔记本电脑上连接失败。
之后我意识到这行SSH public key authentication failed: Invalid key data, not base64 encode。
我既不知道为什么“基于代理的身份验证”对我来说是成功的(或者这意味着什么),也不知道为什么它不能在我同事的笔记本电脑上工作。
我也没有找到将我的公钥转换为 base64 公钥的方法。
亲切的问候 Animal21
编辑:好的,在网上搜索并尝试之后,我决定检查我的密钥是否是有效的 base64 字符串,所以我写了一个函数是 C# 并且惊喜我的密钥是 base64 编码的......
这告诉我现在什么?
亲切的问候