Prendre en compte clé ssh sur une seule ligne

Hello,

certains outils fournissent des clés SSH sur une seule ligne.

si on enregistre l’info telle que, dans ce cas on obtient une erreur :

0004|[2024-10-29 15:49:49] ERROR  : [test] Unable to read key

il faut alors redécouper la clé « proprement » par bloc de 64 caractères puis ré-enregistrer l’équipement pour que ca passe.

est ce qu’il serait envisageable de permettre l’utilisation avec 1 seule ligne (j’imagine que non, car ça doit être géré par une lib externe)
à défaut, est ce que le système pourrait redécouper la clé si jamais 1 seule ligne était donnée ? (ou proposer de le faire)


Informations Jeedom

Core : 4.4.18 (master)
DNS Jeedom : non

Plugin : SSH Manager
Version : 2024-10-24 01:20:03 (stable)

Informations complémentaires

Debian : 12.7
PluginVersion : 1.0.3
PluginBranch : stable (market)

Bonjour,

Oui c’est envisageable :wink:

Quel est le format lorsque ta clé est donnée sur une seule ligne ?

Sans me donner les infos sensibles, tu aurais un exemple (quitte à changer des chiffres et des lettres dedans, c’est pour voir comment cela se présente pour voir comment proposer un formatage)

TiTidom.

1 « J'aime »

assez simplement :

-----BEGIN OPENSSH PRIVATE KEY----- xxxxxxxxxxxxxxxxxxxxxxxxxxxxx -----END OPENSSH PRIVATE KEY-----

le bloc de x sera à couper donc
et les espace avant/après à supprimer

Hello,

Je m’en sors pas non plus avec ma clé privée générée par PuttyGen : toujours unable to read ssh key

Exemple sur une fausse clé générée :

AAABABuIAtg5NRln/qjCk1F0JdR/WmnfULc3pNDxTu1AZ8R7F6M+/ceLR/zFS7D+ R7sjSRZ06PBTWjqiUi27Ay/qTMie/12lTyelU9Nd+JQ2Oie2QhpP30AxKhfLSGu8 44ku9M3j9eA8NqkYUnEsQRTa0xiwX0bqXhcOMKL4vkzfa9DHLlKy1V+N2qV9pNcG uBCL+qQcLfTu6nExxmFkYAMmd+eG4fWG/KkIJ0zNMLydqB+34V3Yx92um7bfNu9T 3Eo5fefon6rD6dbZYrcySIwJQuoLSzBl4cnxdbPRRsOHvUO5h1QHBNbzPVPAysKT 6CQtgEo7xNNcQo6jO8SnESS3SUEAAACBANw6gdMTzGy1qJc5sTHJTYaFtCRDo2IP VcQLtHPnxkZCs/O0hT04NrpRHIyT67zSsHt5NYpYz5e0fwbEYxvqGTtQzo2FDT+9 R7DEBMESmjrpjq+jHTiLYNnBcRdzrNoyUHsJ5na2xSXxnSCSihcxFpA2yfn7VuL5 bSAwsmdWjlrbAAAAgQC3VqNO8ShlCkVugYnAUJW5mFnvvcnMc6VxGVSigkHvYc1q Kn0a631myE6AuGQ1CjvR5IA0bPkSCQgUs8j8OA9toSGDqcKcEqsozdB182t1+Lyy KLU9EcVnvQmkUn4MeCIwyeQEZ3eU1BY7JCpRQe2OTW1q+SPY6dTQF+uqJ/79VwAA AIBSOES1SJEb3YtlZFXAyUZY1KVIOET9ksstVdodA348MbNuqF7gVBHyhHkILCso oqRH4g7hySYa22iMxC7hhRQLooErSMp7sLMI0vQGHdRXfRQmaiACzY14PqWD+P/U 61QCTJnqEJZNSyZzCGhE35obz/HO1/arT10D/NWSU2vjPA==

j’ai tenté de la formater en 64 caractères mais idem

AAABABuIAtg5NRln/qjCk1F0JdR/WmnfULc3pNDxTu1AZ8R7F6M+/ceLR/zFS7D+
R7sjSRZ06PBTWjqiUi27Ay/qTMie/12lTyelU9Nd+JQ2Oie2QhpP30AxKhfLSGu8
44ku9M3j9eA8NqkYUnEsQRTa0xiwXkbqXhcOMKL4vkzfa9DHPlKy1V+N2qV9pNcG
uBCL+qQcLfTu6nExxmFkYAMmd+eG4fWG/KkIJ0zNMLydqB+34V3Yx92um7bfNu9T
3Eo5fefon6rD6dbZYrcySIwJQuoLSzBl4cnxdbPRRsOHvUO5h1QHBNbzPVPAysKT
6CQtgEo7xNNcQo6jO8SnESS3SUEAAACBANw6gdMTzGy1qJc5sTHJTYaFtCRDo2IP
VcQLtHPnxkZCs/O0hT04NrpRHIyT67zSsHt5NYpYz5e0fwbEYxvqGTtQzo2FDT+9
R7DEBMESmjrpjq+jHTiLYNnBcRdzrNoyUHsJ5na2xSXxnSCSihcxFpA2yfn7VuL5
bSAwsmdWjlrbAAAAgQC3VqNO8ShlCkVugYnAUJW5mFnvvcnMc6VxGVSigkHvYc1q
Kn0a631myE6AuGQ1CjvR5IA0bPkSCQgUs8j8OA9toSGDqcKcEqsozdB182t1+Lyy
KLU9EcVnvQmkUn4MeCIwyeQEZ3eU1BY7JCpRQe2OTW1q+SPY6dTQF+uqJ/79VwAA
AIBSOES1SJEb3YtlZFXAyUZY1KVIOET9ksstVdodA348MbNuqF7gVBHyhHkILCso
oqRH4g7hySYa22iMxC7hhRQLooErSMp7sLMI0vQGHdRXfRQmaiACzY14PqWD+P/U
61QCTJnqEJZNSyZzCGhE35obz/HO1/parT10D/NWSU2vjPA==

ou j’ai rien compris comment bien mettre ma clé privée dans le champ.

Merci.

Salut ,

Ce format là n’est pas valide.

Ta clé doit démarrer et terminer avec ce type de syntaxe, sinon elle ne sera pas lue.

-----BEGIN OPENSSH PRIVATE KEY----- xxxxxxxxxxxxxxxxxxxxxxxxxxxxx -----END OPENSSH PRIVATE KEY-----

Dans une prochaine version, je vais ajouter un bouton pour formater la clé si jamais elle est sur une seule ligne, par contre cela ne vérifiera pas la syntaxe, cela ne fera que reformater par bloc de 64 caractères :wink:

TiTidom.

Il manque le debut et la fin du fichier

T es sur de pas avoir d espace egalement a chaque fin de ligne ?

Note : il me semble d ailleur que puttygen cree la cle au bon format sur plusieurs ligne normalement → tu enregistres la cle, et tu la lis avec un éditeur quelconque (notepad ou autre)

J’ai bien ajouté ce qu’il manquait

-----BEGIN OPENSSH PRIVATE KEY----
ma clé en 14 lignes
-----END OPENSSH PRIVATE KEY-----

en effet ma clé est deja en plusieurs lignes dans le fichier ppk (je l’ai ouvert avec blocnote et notepad++ : idem et pas d’espace à la fin)

Mais rien a faire il sait pas la lire, ca me rend dingue lol (alors que le fichier ppk dans putty, je me connecter sans soucis avec la clé privée bien sur)

Y compris pas d espace apres ca ??

C est pas une clé de type rsa ?

Pas d’espace

Ce sont des clés SSH-2 RSA

Jai clairement fait comme ici : https://www.lecoindunet.com/generer-cle-ssh-putty

Et t as fait :
Save private key
Ou
Export openssl key

?

1 « J'aime »

Bonjour,

C’est une très bonne remarque de @tomitomas , car le format .ppk n’est pas supporté (alors qu’il l’est forcément par putty nativement ce qui explique pourquoi tu arrives à te connecter via putty mais pas via le plugin), il faut une clé au format « .pem », ce qui est le cas dans puttygen lorsque tu vas dans le menu « Conversions » et que tu fais « export OpenSSH key »

image

PS : pour plus de sécurité, si tu le souhaites, tu peux mettre une passphrase pour protéger encore plus ta clé privée, avant l’export : Dans puttygen, tu dois, dans ce cas, remplir les cases « Key passphrase » et « Confirm passphrase », et ensuite dans le plugin, tu as une case « passphrase » pour remettre cette passphrase pour décoder la clé.

Lorsque tu as exporté ta clé au format OpenSSH (le fameux format .pem), elle est alors utilisable telle quelle dans le plugin, puisque formatée exactement comme il faut :

image

Donc tu copies l’ensemble du texte que tu colles dans le plugin, et ca devrait fonctionner ainsi :wink:

Bonne journée,
TiTidom.

1 « J'aime »

Bonjour @tomitomas ,

Je viens d’ajouter au code le « reformatage » d’une clé fournie sur une seule ligne.

Pour que cela ne soit pas trop intrusif dans l’interface, j’ai fait un bouton discret (car comme le champ est un champ texte redimensionnable, sinon ca donnait un truc bizarre dans l’interface si j’ajoute juste un bouton :

Donc, ajout d’un bouton « orange » juste à côté du nom « Clé SSH » qui en cliquant dessus va chercher le contenu du champ et le reformate s’il est au bon format

Affichage d’un message s’il a réussi :

image

Affichage d’un message si l’utilisateur clique alors que la clé est déjà au bon format ! :

image

Affichage d’un message de warning s’il ne reconnait pas le format de la clé :

image

Le temps de pousser une version v1.0.6 béta de SSH Manager sur le market et cela devrait être dispo d’ici quelques minutes :wink:

A tester avec différentes clés pour valider que le code prend bien en compte un maximum de case d’usages…

TiTidom.

1 « J'aime »

Hello,

Merci ! En effet les clés dans les ppk sont inexploitables d’où mon erreur !

Pour info que l’on exporte en OpenSSH key ancien ou nouveau format (RSA PRIVATE KEY ou OPENSSH KEY) cela fonctionne bien :wink: Y’a t il une « meilleure secu » avec OPENSSH KEY ?

Mes clés sont du coup deja en multilignes donc pas de reformatage necessaire (je suis en 1.0.6 beta).

Tout est fonctionnel !

… et encore et toujours un grand merci pour la qualité et convivialité des échanges :sunglasses:

1 « J'aime »

Re,

:hugs:

Merci pour cette confirmation, du coup, j’ai mis la documentation à jour avec ces infos (ICI) :+1:

TiTidom.

2 « J'aime »

Hello,

testé avec succès !

merci à toi

1 « J'aime »

Ce sujet a été automatiquement fermé après 24 heures suivant le dernier commentaire. Aucune réponse n’est permise dorénavant.