He leído bastantes publicaciones sobre el uso PermitUserEnvironmenty el archivo ~/.ssh/environmentpara pasar variables env a un shell ssh. Los documentos oficiales de sshd y algunos otros recursos aluden a algunos riesgos de seguridad al hacer esto.
Habilitar el procesamiento del entorno puede permitir a los usuarios eludir las restricciones de acceso en algunas configuraciones utilizando mecanismos como LD_PRELOAD.
¿Cuáles son los posibles problemas de seguridad de la activación PermitUserEnvironment? Estaba buscando mantener los detalles de conexión de DB en estas variables de entorno, ¿es esto aconsejable?
                    
                        security
                                ssh
                                environment-variables
                                
                    
                    
                        Rob Squires
fuente
                
                fuente

Respuestas:
En primer lugar, si no está tratando de hacer algo elegante con las restricciones de acceso de los usuarios, es decir, si está ofreciendo acceso de shell interactivo, probablemente no existan riesgos de seguridad adicionales al permitir el uso del
.ssh/environmentarchivo, ya que cualquier cosa el usuario podría lograr con ese archivo que también podría hacer interactivamente en su shellSi está utilizando comandos forzados SSH para limitar lo que las personas pueden hacer a través de ssh (por ejemplo, si está restringiendo a las personas a usar solo
sftposcp), permitir que alguien establezca variables de entorno comoLD_PRELOAD(o posiblemente inclusoPATH) les permitiría secuestrar su restricciones al reemplazar las llamadas básicas de la biblioteca con su propio código. Por otro lado, si está creando el.ssh/environmentnombre en nombre de sus usuarios y no pueden administrarlo de otra manera, sus riesgos son relativamente pequeños.Sin saber más sobre su caso de uso particular, es difícil proporcionar una respuesta definitiva.
fuente