ssh em uma conta que não possui diretório inicial


10

Como acompanhamento da minha pergunta anterior , decidi criar as contas de usuário local conforme abaixo.

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

Agora, eu gostaria que os usuários locais pudessem acessar as máquinas usando ssh. De acordo com o meu entendimento, sshfunciona como abaixo.

Supondo que eu tenha 2 máquinas (digamos alfa e beta ).

  • Da máquina alfa :ssh user@beta
  • A chave pública do alpha estará presente ~/.ssh/authorized_keysna máquina beta .
  • A chave privada do alfa estará presente /~/.sshna máquina alfa .

Agora planejei implementar nenhuma casa para os usuários. Então, supondo que eu entre adduserna máquina beta sem casa para nenhum usuário, ainda poderei fazer a transferência ssh da versão beta para alfa ?

Respostas:


10

~/.ssh/é apenas o local padrão sshdusado para procurar as chaves públicas do usuário recebido. Você pode configurar o local e o arquivo que sshdprocura, modificando a AuthorizedKeysFilediretiva em /etc/ssh/sshd_config. Atualmente, o meu se parece com:

AuthorizedKeysFile     %h/.ssh/authorized_keys

A sshd_configpágina do manual fornece um pouco mais de detalhes:

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

Esteja ciente de que sshdé muito particular as permissões do authorized_keyarquivo de um usuário . Você deseja manter um olhar atento aos seus logs se configurar isso e tiver problemas para fazer login.


3
Cuidado com a mudança AuthorizedKeysFileprovavelmente interromperá o login de todos os outros usuários (a menos que você faça alguma outra esperteza). Pode ser mais fácil adicionar um diretório inicial mínimo, apenas com o ~/.ssh/authorized_keys.
CTRL-ALT-DELOR

Como ele sabe qual é o diretório inicial do usuário? Quando troco $ HOME, parece não prestar atenção nisso.
Michael
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.