OpenSSH no respeta $HOME al buscar archivos de configuración ssh

OpenSSH no respeta $HOME al buscar archivos de configuración ssh

Estoy escribiendo algunas pruebas de integración que prueban las conexiones SSH entre servidores.

Por el momento, las pruebas se realizan desde los portátiles de las personas. Para no perder el tiempo con el usuario (el usuario que ejecuta las pruebas), ~/.ssh/configcreo un directorio temporal con un ./tmp/.ssh/configarchivo personalizado solo para las pruebas. Luego exporto HOME=/path/to/tmp. Desafortunadamente, descubrí que openssh no se usa $HOMEpara buscar una configuración ssh o archivos de identidad.

Esto está bien si estoy enviando ssh directamente a un host, porque puedo configurar explícitamente mi configuración usando la -Fbandera. Sin embargo, si estoy navegando a través de un bastión y tengo un comando proxy, sshno pasa ese archivo de configuración a mi comando proxy. Entonces, si mi configuración ssh personalizada usa un nombre de usuario predeterminado diferente (por ejemplo), esa configuración no se usará para el comando proxy.

También "podría" modificar el comando proxy (para tomar un archivo de configuración ssh como argumento), sin embargo, me gustaría saber si es posible hacer que openssh busque los archivos de configuración/identidad en una ubicación diferente simplemente usándolos. de variables de entorno (sin tener que pasar el archivo de configuración a cada comando posterior posterior). Puedo cambiar mi agente ssh, SSH_AUTH_SOCKasí que esperaba poder cambiar también el directorio del archivo de configuración.

Respuesta1

Según el código fuente, sshobtiene el directorio de inicio del archivo de contraseña y luego, si no tiene éxito, de la variable de entorno HOME.

Lo que puedes hacer es agregar un Includea cada usuario ~/.ssh/config, por ejemplo ~/tmp/user/.ssh/config.

Si el fichero a incluir no existe, sshno se quejará. Pero si existe y es legible, lo incluirá. Eso debería permitirle realizar las pruebas sin alterar demasiado sus archivos.

Tenga en cuenta que representa un riesgo de seguridad. Cualquiera que conozca esas rutas podrá inyectar configuraciones locales para otros usuarios si no las protege bien.

información relacionada