# Plugin ssh inventario

# Introducción

**Este plugin tiene como finalidad ejecutar comandos ssh en switches para devolver información que puede ser consultada en PandoraFMS**, como puede ser la configuración de este o su version de firmware.

El plugin se conecta al switch, ejecuta el comando configurado por el usuario y muestra la salida de este en el inventario del agente configurado.

# Matriz de compatibilidad

<table border="1" id="bkmrk-sistemas-donde-se-ha-1" style="width: 96.7901%;"><tbody><tr><td style="width: 27.8607%;">**Sistemas donde se ha probado**</td><td style="width: 72.1393%;">Rocky linux, Fedora 34</td></tr><tr><td style="width: 27.8607%;">**Sistemas donde funciona**</td><td style="width: 72.1393%;">Cualquier sistema linux</td></tr></tbody></table>

# Pre requisitos

- Conectividad desde PandoraFMS hacía el switch objetivo

# Parámetros

<table border="1" id="bkmrk-%22address%22-host-o-ip-" style="border-collapse: collapse; width: 100%; height: 208.578px;"><colgroup><col style="width: 16.0715%;"></col><col style="width: 83.9285%;"></col></colgroup><tbody><tr style="height: 29.7969px;"><td style="height: 29.7969px;">"address"</td><td style="height: 29.7969px;">Host o ip del switch al que se quiere conectar.</td></tr><tr style="height: 29.7969px;"><td style="height: 29.7969px;">"username"</td><td style="height: 29.7969px;">Usuario</td></tr><tr style="height: 29.7969px;"><td style="height: 29.7969px;">"password"</td><td style="height: 29.7969px;">Contraseña. En caso de necesitar enable password, especificar separando el password y enable con "/" : password/enable.  
  
Ejemplo : P4nd0r4/S3uK!</td></tr><tr style="height: 29.7969px;"><td style="height: 29.7969px;">"command"</td><td style="height: 29.7969px;">Comando que se pretende ejecutar en la máquina objetivo</td></tr><tr style="height: 29.7969px;"><td style="height: 29.7969px;">"extra\_command"</td><td style="height: 29.7969px;">En caso de necesitar paginación (la salida se muestra cortada), usar este parámetro para lanzar comando que habilite el modo paginación.</td></tr><tr style="height: 29.7969px;"><td style="height: 29.7969px;">"--debug"</td><td style="height: 29.7969px;">Para mostrar información extra de la ejecución</td></tr></tbody></table>

# Ejecución manual

El formato de ejecución del plugin es el siguiente :

```python
./ssh_inventory < host > < user > < password > < comando > < comando paginación > < aplicar filtro : 1 o 0 > 
```

En caso de necesitar enable password :

```
./ssh_inventory < host > < user > < password / enable password > < comando > < comando paginación > < aplicar filtro : 1 o 0 > 
```

Ejemplo de ejecución en switch **cisco** (con enable password):

```
./ssh-plugin 192.168.23.212 admin pandora/en4Bl3 "show running-config\n" "terminal length 0" 1
```

Ejemplo de ejecución en switch **mikrotik** (sin enable password):

```
./ssh_inventory 192.168.87.21 admin pandora "system resource print\n\r" "" 1
```

Ejemplo de ejecución en switch **A10** (con enable password):

```
./ssh-plugin 192.168.1.27 admin pandora/pandora "show running-config\n" "" 1
```

# Configuración en PandoraFMS

Para configurar el plugin en PandoraFMS, se deben seguir los siguientes pasos :

**1.** subir el plugin a PandoraFMS, por ejemplo en la siguiente ruta:

```
/etc/pandora/plugin
```

**2.** Ir al menú de módulos de inventario y crear uno nuevo.

[![image.png](https://pandorafms.com/guides/public/uploads/images/gallery/2023-11/scaled-1680-/HaOimage.png)](https://pandorafms.com/guides/public/uploads/images/gallery/2023-11/HaOimage.png)

**3.** Crear un nuevo módulo de inventario

[![imagen.png](https://pandorafms.com/guides/public/uploads/images/gallery/2023-12/scaled-1680-/imagen.png)](https://pandorafms.com/guides/public/uploads/images/gallery/2023-12/imagen.png)

El interpreter se debe dejar vacío , en script mode, debe ir la ruta del plugin.

**4.** Ir a un agente y configurar el plugin

[![imagen.png](https://pandorafms.com/guides/public/uploads/images/gallery/2023-12/scaled-1680-/UUHimagen.png)](https://pandorafms.com/guides/public/uploads/images/gallery/2023-12/UUHimagen.png)

Se deberá marcar la opción custom fields, añadir el target y un intervalo, se deben añadir los siguientes custom fields:

- user: usuario
- password: La contraseña (si hay enable se debe especificar en este campo separado del password con "/" como en el ejemplo),
- comando: El comando a lanzar
- extra command: si se requiere, si no se debe dejar en blanco

Una vez hechos estos pasos se debe añadir el plugin y el resultado de la ejecución del comando utilizado se verá en la vista de inventario del agente:

[![imagen.png](https://pandorafms.com/guides/public/uploads/images/gallery/2023-11/scaled-1680-/lhGimagen.png)](https://pandorafms.com/guides/public/uploads/images/gallery/2023-11/lhGimagen.png)