ssh dans un compte qui n'a pas de répertoire personnel

10

Pour faire suite à ma question précédente , j'ai décidé de créer les comptes d'utilisateurs locaux comme ci-dessous.

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

Maintenant, j'aimerais que les utilisateurs locaux puissent accéder aux machines en utilisant ssh. Selon ma compréhension, sshfonctionne comme ci-dessous.

En supposant que j'ai 2 machines (disons alpha et bêta ).

  • Depuis la machine alpha :ssh user@beta
  • La clé publique d'alpha sera présente sous ~/.ssh/authorized_keysdans la machine bêta .
  • La clé privée d'alpha sera présente sous /~/.sshdans la machine alpha .

Maintenant, j'ai prévu de ne mettre en place aucune maison pour les utilisateurs. Donc, en supposant que je adduserdevienne une machine bêta sans domicile pour aucun utilisateur, serai-je toujours capable de passer en bêta à partir d' alpha ?

Ramesh
la source

Réponses:

10

~/.ssh/est simplement l'emplacement par défaut sshdutilisé pour rechercher les clés publiques de l'utilisateur entrant. Vous pouvez configurer l'emplacement et le fichier sshdrecherché en modifiant la AuthorizedKeysFiledirective dans /etc/ssh/sshd_config. Le mien ressemble actuellement à:

AuthorizedKeysFile     %h/.ssh/authorized_keys

La sshd_configpage de manuel fournit un peu plus de détails:

 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”.

Sachez tout simplement que sshdles autorisations du authorized_keyfichier d'un utilisateur sont très particulières . Vous voudrez garder un œil attentif sur vos journaux si vous le configurez et rencontrez des problèmes de connexion.

Ruisseau
la source
3
Attention, le changement AuthorizedKeysFileinterrompra probablement la connexion pour tous les autres utilisateurs (à moins que vous ne fassiez d'autres astuces). Il peut être plus facile d'ajouter un répertoire personnel minimal, avec juste le ~/.ssh/authorized_keys.
ctrl-alt-delor
Comment sait-il quel est le répertoire personnel de l'utilisateur? Lorsque je change $ HOME, il ne semble pas y prêter attention.
Michael