ssh en una cuenta que no tiene directorio de inicio

10

Como seguimiento a mi pregunta anterior , he decidido crear las cuentas de usuario locales de la siguiente manera.

adduser --system --no-create-home USERNAME

Ahora, me gustaría que los usuarios locales puedan acceder a las máquinas usando ssh. Según mi entendimiento, sshfunciona de la siguiente manera.

Suponiendo que tengo 2 máquinas (digamos alfa y beta ).

  • De la máquina alfa :ssh user@beta
  • La clave pública de alpha estará presente ~/.ssh/authorized_keysen la máquina beta .
  • La clave privada de alpha estará presente /~/.sshen la máquina alpha .

Ahora he planeado implementar ningún hogar para los usuarios. Así que asumiendo que adduseren la beta máquina sin ningún tipo de hogar para cualquier usuario, voy a seguir siendo capaz de ssh en la beta de la alfa ?

Ramesh
fuente

Respuestas:

10

~/.ssh/es solo la ubicación predeterminada que se sshdusa para buscar las claves públicas del usuario entrante. Puede configurar la ubicación y el archivo que sshdbusca modificando la AuthorizedKeysFiledirectiva en /etc/ssh/sshd_config. El mío actualmente se ve así:

AuthorizedKeysFile     %h/.ssh/authorized_keys

La sshd_configpágina del manual proporciona un poco más de detalle:

 AuthorizedKeysFile
     Specifies the file that contains the public keys that can be used for user authentication.  The format is
     described in the AUTHORIZED_KEYS FILE FORMAT section of sshd(8).  AuthorizedKeysFile may contain tokens of
     the form %T which are substituted during connection setup.  The following tokens are defined: %% is
     replaced by a literal '%', %h is replaced by the home directory of the user being authenticated, and %u is
     replaced by the username of that user.  After expansion, AuthorizedKeysFile is taken to be an absolute
     path or one relative to the user's home directory.  Multiple files may be listed, separated by whitespace.
     The default is “.ssh/authorized_keys .ssh/authorized_keys2”.

Solo tenga en cuenta que sshdes muy particular acerca de los permisos del authorized_keyarchivo de un usuario . Querrá vigilar de cerca sus registros si configura esto y tiene problemas para iniciar sesión.

Arroyo
fuente
3
Tenga cuidado de que el cambio AuthorizedKeysFileprobablemente interrumpirá el inicio de sesión para cualquier otro usuario (a menos que haga alguna otra habilidad). Puede ser más fácil agregar un directorio de inicio mínimo, solo con el ~/.ssh/authorized_keys.
ctrl-alt-delor
¿Cómo sabe cuál es el directorio de inicio del usuario? Cuando cambio $ HOME, no parece prestarle atención a eso.
Michael