Solución 1:
Puedes usar el AuthorizedKeysFile
directiva en /etc/ssh/sshd_config para hacer esto. La ubicación predeterminada es .ssh/authorized_keys
pero podría usar algo que contuviera una ruta absoluta, por ejemplo,
AuthorizedKeysFile /path/to/your/keyfile
las páginas man dicen esto
Archivo de claves autorizadas
Especifica el archivo que contiene las claves públicas que se pueden usar para la autenticación de usuarios. AuthorizedKeysFile puede contener tokens de la forma %T que se sustituyen durante la configuración de la conexión. Se definen los siguientes tokens:%% se reemplaza por un literal '%', %h se reemplaza por el directorio de inicio del usuario que se está autenticando y %u se reemplaza por el nombre de usuario de ese usuario. Después de la expansión, AuthorizedKeysFile se toma como una ruta absoluta o relativa al directorio de inicio del usuario. El valor predeterminado es ".ssh/authorized_keys".
Solución 2:
Editar :Deberías votar la respuesta de @Iain arriba. Es completo y preciso. Mi respuesta a continuación está orientada a compartir privado claves - claramente un malentendido de mi parte. Dejaré esta respuesta aquí, ya que la considero una información valiosa, solo que no para esta pregunta específica.
No conozco tu caso de uso, pero estoy tentado a decir "lo estás haciendo mal".
Cada usuario debe tener su propio kepair. De esa manera, cuando un usuario se va, es transferido, ascendido a una función de administración o cualquier otra cosa que requiera la revocación de derechos, simplemente revoca esa clave. Esto también hace que la auditoría efectiva sea mucho, mucho más difícil.
Si necesita que los usuarios puedan suplantar a otros usuarios, deben configurarse para hacerlo con sudo
. Tener claves SSH compartidas normalmente no es una buena idea.
Solución 3:
Sus administradores deben usar una combinación apropiada (para su entorno) de sudo
y su
.
ssh
no es la herramienta adecuada para esto.
Edición contradictoria (Lo siento, parece que sufrí ceguera al título. Gracias Zoredache):
Coloca todas las cuentas de servicio en el mismo group
, usa ese grupo como parte de un Match
bloque en sshd_config
especifica el AuthorisedKeysFile
desea que todos los usen. (El grupo de coincidencia es para que todos las cuentas no se verán afectadas). Sin embargo, ya no tendrán AuthorisedKeysFiles individuales. openssh-lpk
puede permitir que las cuentas individuales tengan además sus propias claves, pero no estoy seguro de eso.