Tengo una implementación de monitoreo bastante simple, digamos que el servidor de monitoreo se conecta a un objetivo a través de SSH a través de la autenticación de clave, y obtiene información de acuerdo a un script configurado como shell de inicio de sesión para el usuario de monitoreo.
es decir. monitoring ---ssh---> target ---login-shell---> script argument
Un script de shell de inicio de sesión de ejemplo podría ser el siguiente:
#!/bin/bash
if [ "$2" = "hello" ]; then
echo "$(free -m)"
fi
Y los datos se pueden obtener de la siguiente manera:
[root@run ~]# ssh -i sshkey testuser@target hello
total used free shared buff/cache available
Mem: 15857 3086 1376 832 11394 11539
Swap: 16127 0 16127
testuser
tendría el script bash configurado como su shell de inicio de sesión:
testuser:x:1006:1007::/home/testuser:/home/testuser/init
¿Hay algún problema de seguridad obvio con tal implementación? Si actualmente no, ¿qué debo tener en cuenta al expandir esto para incluir más funciones?