Me gustaría globalizar algunos de estos archivos, como configy known_hosts. Para que otros usuarios (incluido el root ) puedan compartir los hosts configurados.
Para ~/.ssh/configque pueda colocar configuraciones relevantes de todo el sistema en / etc / ssh / ssh_config de acuerdo con la página del manual :
ssh (1) obtiene datos de configuración de las siguientes fuentes en el siguiente orden:
opciones de línea de comandos
archivo de configuración del usuario (~ / .ssh / config)
archivo de configuración de todo el sistema (/ etc / ssh / ssh_config)
Para cada parámetro, se utilizará el primer valor obtenido. Los archivos de configuración contienen secciones separadas por especificaciones de "Host", y esa sección solo se aplica a hosts que coinciden con uno de los patrones dados en la especificación.
Tenga en cuenta que solo se utilizará el primer valor, lo que significa que el usuario siempre puede anular las opciones de configuración de todo el sistema localmente.
Para ~/.ssh/known_hostsque pueda usar /etc/ssh/ssh_known_hostsu otro archivo especificado por la opción de configuración GlobalKnownHostsFile:
GlobalKnownHostsFile
Especifica un archivo para usar en la base de datos global de claves de host en lugar de / etc / ssh / ssh_known_hosts.
No estoy seguro de si es posible para los otros archivos, pero imagino que podría resolver algo con enlaces simbólicos si realmente también quisiera compartir claves privadas entre los usuarios.
Tienes un error tipográfico en tu cotización GlobalKnownHostsFile.
cjm
1
Puede configurar UserKnownHostsFile = / dev / null ssh nunca encontrará una clave válida dentro de los usuarios del archivo conocido_hosts, pero aún así el usuario puede aceptar una temporal.
Janning
1
@ Janning, parece que en realidad hay una IgnoreUserKnownHostsopción para eso (valores yeso no).
kael
Tenga en cuenta que el /etc/ssh/ssh_known_hostsarchivo global debe ser legible en todo el mundo. Estaba usando ssh-keygen -Hf /etc/ssh/ssh_known_hostspara repetir el mío después de agregar entradas manualmente, y parece que se estaba configurando solo para el propietario.
kael
1
Como root es todo poderoso, usaría un trabajo cron de root para copiar los archivos de otros usuarios. Los hosts conocidos y las claves autorizadas simplemente se pueden agregar. Si todo está en una partición, existe la opción de enlace duro. No estoy seguro de si los enlaces simbólicos funcionarían para los archivos, pero podría intentarlo también, solo tiene que colocarlos en un lugar compartido pero seguro.
Evitaría que los usuarios agreguen sus propios hosts, lo que en mi humilde opinión es un efecto no deseado.
Maciej Piechotka
Olvidé si un archivo de enlace duro tiene que tener los mismos permisos pero sospecho que sí. Sin embargo, puede copiar el archivo con cron y luego asegurarse de que los permisos sean correctos.
IgnoreUserKnownHosts
opción para eso (valoresyes
ono
)./etc/ssh/ssh_known_hosts
archivo global debe ser legible en todo el mundo. Estaba usandossh-keygen -Hf /etc/ssh/ssh_known_hosts
para repetir el mío después de agregar entradas manualmente, y parece que se estaba configurando solo para el propietario.Como root es todo poderoso, usaría un trabajo cron de root para copiar los archivos de otros usuarios. Los hosts conocidos y las claves autorizadas simplemente se pueden agregar. Si todo está en una partición, existe la opción de enlace duro. No estoy seguro de si los enlaces simbólicos funcionarían para los archivos, pero podría intentarlo también, solo tiene que colocarlos en un lugar compartido pero seguro.
fuente