Estoy buscando la mejor manera de llamar al comando remoto a través de SSH. Creo el usuario 'rpcall', genero un nuevo certificado y relleno autorizado_keys. Asegúralo un poco más con
from="ip",no-agent-forwarding,no-X11-forwarding,no-port-forwarding,no-pty ssh-rsa ......
ahora el usuario rpcall no puede iniciar sesión en la terminal
ssh -l rpc 192.168.12.1
PTY allocation request failed on channel 0
pero es posible ejecutar cualquier comando
ssh -l rpc 192.168.12.1 cat /etc/passwd
¿Hay alguna solución que pueda limitar la ejecución de comandos solo a un script de procesamiento? Por ejemplo /home/rpcall/bin/command.sh
Configuré bash shell para este usuario y utilicé el script de procesamiento de ejecución forzada .bashrc, pero no sé cómo pasar los parámetros de la llamada ssh.
.bashrc para el usuario rpcall
/home/rpcall/bin/command.sh $params1 $params2
exit
llamada ssh desde otra máquina
ssh -l rpcall 192.168.12.1 "param1" "param2"
SSH_ORIGINAL_COMMAND
variable de entorno. De esta forma, los parámetros se pueden pasar a ese comando, solo necesita analizar esa variable de entorno y hacer el trabajo solicitado.