Dans mon Mac book pro avec OS Majave, j'ai utilisé SSH-KEYGEN pour générer une nouvelle clé SSH pour le module node.js SSH2. Cependant, j'ai reçu un message d'erreur: Cannot parse privateKey: Unsupported key format
J'ai validé la clé avec la commande ssh, cela fonctionne très bien. Mais pas avec le module node.js SSH2.
Dans le fichier de clé privée, l'en-tête est -----BEGIN OPENSSH PRIVATE KEY-----
tandis que la fin est -----END OPENSSH PRIVATE KEY-----
.
J'ai vérifié le module ssh2-streams keyParser.js. Le modèle d'expression régulière RE_HEADER_OPENSSH_PRIV
n'inclut pas mon en-tête. Quelqu'un peut-il aider?
Eu le même problème, a trouvé la solution ici .
utilisez essentiellement l'option PEM lorsque vous créez votre clé:
ssh-keygen -m PEM -t rsa
J'ai eu le même problème lors de la mise en place du contenu de la clé privée dans le fichier de configuration:
module.exports = {
sftp: {
privateKey: `MY PRIVATE KEY
CONTENT WAS HERE!!!`
}
}
Solution: utilisez fs.readFileSync
au lieu:
const fs = require('fs')
module.exports = {
sftp: {
privateKey: fs.readFileSync("Path to my private key"),
}
}