@deinossrl/dgp-agent 1.4.32 → 1.4.34
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/index.mjs +23 -3
- package/package.json +1 -1
package/index.mjs
CHANGED
|
@@ -222,8 +222,28 @@ function saveSshKeyLocally(sshPrivateKey) {
|
|
|
222
222
|
|
|
223
223
|
const keyPath = getDgpSshKeyPath();
|
|
224
224
|
// Normalizar saltos de línea
|
|
225
|
-
|
|
226
|
-
|
|
225
|
+
let normalizedKey = sshPrivateKey.replace(/\\n/g, '\n').replace(/\r\n/g, '\n');
|
|
226
|
+
|
|
227
|
+
// Verificar si la key tiene los delimitadores BEGIN/END
|
|
228
|
+
if (!normalizedKey.includes('-----BEGIN')) {
|
|
229
|
+
console.log('[!] SSH Key sin delimitadores, agregándolos automáticamente...');
|
|
230
|
+
// Agregar header y footer OpenSSH
|
|
231
|
+
normalizedKey = `-----BEGIN OPENSSH PRIVATE KEY-----\n${normalizedKey}\n-----END OPENSSH PRIVATE KEY-----`;
|
|
232
|
+
}
|
|
233
|
+
|
|
234
|
+
writeFileSync(keyPath, normalizedKey);
|
|
235
|
+
|
|
236
|
+
// Establecer permisos 600 (solo owner puede leer/escribir)
|
|
237
|
+
try {
|
|
238
|
+
chmodSync(keyPath, 0o600);
|
|
239
|
+
} catch (e) {
|
|
240
|
+
// En Windows puede fallar, intentar con comando nativo
|
|
241
|
+
if (process.platform === 'win32') {
|
|
242
|
+
try {
|
|
243
|
+
shellSync(`icacls "${keyPath}" /inheritance:r /grant:r "%USERNAME%:RW"`);
|
|
244
|
+
} catch {}
|
|
245
|
+
}
|
|
246
|
+
}
|
|
227
247
|
|
|
228
248
|
return keyPath;
|
|
229
249
|
} catch (e) {
|
|
@@ -321,7 +341,7 @@ function getPlinkPath() {
|
|
|
321
341
|
}
|
|
322
342
|
|
|
323
343
|
// Versión del agente
|
|
324
|
-
const AGENT_VERSION = '1.4.
|
|
344
|
+
const AGENT_VERSION = '1.4.34';
|
|
325
345
|
let AGENT_MODE = 'smart'; // Siempre inteligente
|
|
326
346
|
|
|
327
347
|
// Configuración (prioridad: env vars > archivo config > platform config > defaults)
|