Aclarar autenticacion por clave asimetrica
This commit is contained in:
+4
-4
@@ -12,7 +12,7 @@ Navegador
|
|||||||
v
|
v
|
||||||
Contenedor monitor-rpi
|
Contenedor monitor-rpi
|
||||||
|
|
|
|
||||||
| SSH con usuario/password o clave privada
|
| SSH con usuario/password o clave asimetrica
|
||||||
v
|
v
|
||||||
Raspberry Pi activas
|
Raspberry Pi activas
|
||||||
```
|
```
|
||||||
@@ -125,18 +125,18 @@ Password SSH. Se guarda en `config.json`, por lo que el archivo debe permanecer
|
|||||||
Metodo de autenticacion SSH por dispositivo. Valores recomendados:
|
Metodo de autenticacion SSH por dispositivo. Valores recomendados:
|
||||||
|
|
||||||
- `password`: usa `username` y `password`.
|
- `password`: usa `username` y `password`.
|
||||||
- `key`: usa `username` y la clave privada global configurada en `sshPrivateKeyPath`.
|
- `key`: usa `username` y la clave privada global configurada en `sshPrivateKeyPath`. Operativamente, instala la clave publica del monitor en la RPi.
|
||||||
|
|
||||||
### `privateKeyPath`
|
### `privateKeyPath`
|
||||||
|
|
||||||
Campo heredado para configuraciones antiguas con clave privada por dispositivo. La interfaz nueva usa la clave global del monitor y deja este campo vacio.
|
Campo heredado para configuraciones antiguas con clave privada por dispositivo. La interfaz nueva usa la clave global del monitor y deja este campo vacio.
|
||||||
|
|
||||||
## Autenticacion SSH por Clave Privada
|
## Autenticacion SSH por Clave Asimetrica
|
||||||
|
|
||||||
El monitor soporta dos metodos de autenticacion por dispositivo:
|
El monitor soporta dos metodos de autenticacion por dispositivo:
|
||||||
|
|
||||||
- Password SSH: usar `password` y dejar `privateKeyPath` vacio.
|
- Password SSH: usar `password` y dejar `privateKeyPath` vacio.
|
||||||
- Clave privada global: dejar `password` vacio y seleccionar `authMethod: "key"`.
|
- Clave asimetrica: dejar `password` vacio, seleccionar `authMethod: "key"` y copiar la clave publica del monitor en la RPi.
|
||||||
|
|
||||||
Cuando un dispositivo tiene `authMethod: "key"`, el backend usa la clave privada global configurada en `sshPrivateKeyPath`. El campo `privateKeyPath` por dispositivo queda solo como compatibilidad con configuraciones antiguas.
|
Cuando un dispositivo tiene `authMethod: "key"`, el backend usa la clave privada global configurada en `sshPrivateKeyPath`. El campo `privateKeyPath` por dispositivo queda solo como compatibilidad con configuraciones antiguas.
|
||||||
|
|
||||||
|
|||||||
+4
-4
@@ -693,14 +693,14 @@
|
|||||||
<label class="field-auth" title="Metodo de autenticacion SSH que usara el monitor para este dispositivo.">Auth SSH
|
<label class="field-auth" title="Metodo de autenticacion SSH que usara el monitor para este dispositivo.">Auth SSH
|
||||||
<select data-auth-method>
|
<select data-auth-method>
|
||||||
<option value="password" ${authMethod === "password" ? "selected" : ""}>Password</option>
|
<option value="password" ${authMethod === "password" ? "selected" : ""}>Password</option>
|
||||||
<option value="key" ${authMethod === "key" ? "selected" : ""}>Clave privada</option>
|
<option value="key" ${authMethod === "key" ? "selected" : ""}>Clave asimetrica</option>
|
||||||
</select>
|
</select>
|
||||||
</label>
|
</label>
|
||||||
<label class="password-credential" title="Password SSH. Se guarda en config.json dentro del volumen persistente. Si eliges clave privada, se guardara vacio.">Password
|
<label class="password-credential" title="Password SSH. Se guarda en config.json dentro del volumen persistente. Si eliges clave asimetrica, se guardara vacio.">Password
|
||||||
<input data-field="password" type="password" value="${device.password || ""}">
|
<input data-field="password" type="password" value="${device.password || ""}">
|
||||||
</label>
|
</label>
|
||||||
<div class="credential-note">
|
<div class="credential-note">
|
||||||
Metodo activo: <strong>${authMethod === "key" ? "Clave privada global del monitor" : "Password"}</strong>
|
Metodo activo: <strong>${authMethod === "key" ? "Clave asimetrica: copiar clave publica del monitor en la RPi" : "Password"}</strong>
|
||||||
</div>
|
</div>
|
||||||
<label class="field-active" title="Si esta activo, este dispositivo se consulta por SSH. Si esta inactivo, se muestra deshabilitado y no se escanea.">Activo
|
<label class="field-active" title="Si esta activo, este dispositivo se consulta por SSH. Si esta inactivo, se muestra deshabilitado y no se escanea.">Activo
|
||||||
<input data-field="active" type="checkbox" ${device.active ? "checked" : ""}>
|
<input data-field="active" type="checkbox" ${device.active ? "checked" : ""}>
|
||||||
@@ -883,7 +883,7 @@
|
|||||||
const row = selector.closest(".device");
|
const row = selector.closest(".device");
|
||||||
row.dataset.authMethod = selector.value;
|
row.dataset.authMethod = selector.value;
|
||||||
const note = row.querySelector(".credential-note strong");
|
const note = row.querySelector(".credential-note strong");
|
||||||
if (note) note.textContent = selector.value === "key" ? "Clave privada global del monitor" : "Password";
|
if (note) note.textContent = selector.value === "key" ? "Clave asimetrica: copiar clave publica del monitor en la RPi" : "Password";
|
||||||
});
|
});
|
||||||
|
|
||||||
document.querySelector("#copyPublicKey").addEventListener("click", async () => {
|
document.querySelector("#copyPublicKey").addEventListener("click", async () => {
|
||||||
|
|||||||
@@ -86,14 +86,14 @@
|
|||||||
<li><code>name</code>: nombre visible.</li>
|
<li><code>name</code>: nombre visible.</li>
|
||||||
<li><code>host</code>: IP o DNS.</li>
|
<li><code>host</code>: IP o DNS.</li>
|
||||||
<li><code>port</code>: puerto SSH.</li>
|
<li><code>port</code>: puerto SSH.</li>
|
||||||
<li><code>username/password</code> o <code>authMethod: key</code>: credenciales SSH. Con clave, usa la clave privada global del monitor.</li>
|
<li><code>username/password</code> o <code>authMethod: key</code>: credenciales SSH. Con clave asimetrica, copia la publica del monitor en la RPi.</li>
|
||||||
<li><code>model</code>: modelo visible.</li>
|
<li><code>model</code>: modelo visible.</li>
|
||||||
<li><code>role</code>: funcion del equipo.</li>
|
<li><code>role</code>: funcion del equipo.</li>
|
||||||
<li><code>location</code>: ubicacion.</li>
|
<li><code>location</code>: ubicacion.</li>
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
<h2>Autenticacion SSH por clave privada</h2>
|
<h2>Autenticacion SSH por clave asimetrica</h2>
|
||||||
<p>Por dispositivo se puede usar password o la clave privada global del monitor. Si el dispositivo usa <code>authMethod: key</code>, el backend usa <code>sshPrivateKeyPath</code> y no usa el password.</p>
|
<p>Por dispositivo se puede usar password o clave asimetrica. Si el dispositivo usa <code>authMethod: key</code>, el backend usa la clave privada global del monitor y no usa el password.</p>
|
||||||
|
|
||||||
<h3>Clave en el contenedor</h3>
|
<h3>Clave en el contenedor</h3>
|
||||||
<p>Guarda la clave privada en la RPi donde corre el monitor:</p>
|
<p>Guarda la clave privada en la RPi donde corre el monitor:</p>
|
||||||
@@ -107,7 +107,7 @@ chmod 600 /home/yamaray/docker/monitorRPi/ssh/monitor_rpi_ed25519</code></pre>
|
|||||||
<p>En el configurador general usa las rutas vistas desde el contenedor:</p>
|
<p>En el configurador general usa las rutas vistas desde el contenedor:</p>
|
||||||
<pre><code>sshPrivateKeyPath: /ssh/monitor_rpi_ed25519
|
<pre><code>sshPrivateKeyPath: /ssh/monitor_rpi_ed25519
|
||||||
sshPublicKeyPath: /ssh/monitor_rpi_ed25519.pub</code></pre>
|
sshPublicKeyPath: /ssh/monitor_rpi_ed25519.pub</code></pre>
|
||||||
<p>En cada dispositivo selecciona <code>Auth SSH = Clave privada</code>. El dispositivo solo necesita IP/host, puerto y usuario SSH.</p>
|
<p>En cada dispositivo selecciona <code>Auth SSH = Clave asimetrica</code>. El dispositivo solo necesita IP/host, puerto y usuario SSH.</p>
|
||||||
|
|
||||||
<h3>Clave publica en la Raspberry destino</h3>
|
<h3>Clave publica en la Raspberry destino</h3>
|
||||||
<p>En el usuario SSH remoto, pega la clave publica en:</p>
|
<p>En el usuario SSH remoto, pega la clave publica en:</p>
|
||||||
|
|||||||
Reference in New Issue
Block a user