当我试图在Visual Studio Code中使用SFTP扩展上传文件时,出现了以下错误:
Error while signing data with privateKey: error:06000066:public key routines:OPENSSL_internal:DECODE_ERROR
完整的堆栈跟踪是
[04-15 09:45:25] [error] Error: [120.55.113.108]: Error while signing data with privateKey: error:06000066:public key routines:OPENSSL_internal:DECODE_ERROR
at Client.
ssh连接使用的是公钥认证,而我的sftp配置(sftp.json)如下:
{
"name": "My Server",
"host": "test",
"protocol": "sftp",
"privateKeyPath": "/home/test/.ssh/id_rsa",
"port": 22,
"username": "root",
"remotePath": "/var/www/html/test/"
}
解决方案
为了解决这个错误,我们可以将私钥文件从OpenSSH私钥格式转换成PEM格式:
ssh-keygen -p -m PEM -f /home/test/.ssh/id_rsa
再试一下,现在就可以工作了: