web-dev-qa-db-fra.com

Impossible d'analyser privateKey: format de clé non pris en charge

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?

8
George Zhang

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 
10
Dozon Higgs

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"),
    }
}
0
Tho