Como criar um usuário apenas com acesso SSH e permissões .ssh -dir de fácil configuração?

Como criar um usuário apenas com acesso SSH e permissões .ssh -dir de fácil configuração?

Costumo errar quando configuro manualmente o .ssh -dir, é fácil esquecer algum sinalizador. Muitas vezes preciso criar um novo usuário e permitir acesso apenas com SSH, como posso fazer isso? Basicamente, quero parar de fazer isso "# mkdir .ssh; cd .ssh; ssh-keygen; cat myKey > authorized_keys; cd ..; chown go-r; scp .ssh/myKey friend@IP' etc", tenho certeza de que cometi algum erro em algum lugar - tenho certeza de que algum comando como ssh-copy-id pode ser uma solução aqui, pelo menos corrige as permissões com .ssh quando usado corretamente.

Quer algo assim, talvez com ssh-copy-id?

   # adduser tester
   # ssh-key-gen docs
   # ssh-copy-id docs /home/tester/  # not working, how to do this easily?

e depois no lado do cliente

   $ eval `ssh-agent`
   $ ssh-add ~/.ssh/docs
   $ ssh tester@IP

isso deve dar acesso ao repositório com a chave privada.

Talvez relacionado

  1. Como adicionar um usuário ssh que só tenha permissão para acessar uma pasta específica?

  2. Como você criaria um usuário com o campo HOME_DIR em /etc/passwd completamente em branco?

Responder1

Existe /etc/skelum diretório que é usado como modelo para a página inicial do novo usuário. Você pode colocar esse .sshdiretório com as permissões corretas e um pequeno script de shell com comandos necessários para gerar e copiar chaves ssh.

Então tudo que você precisa após a criação do usuário é ir até sua página inicial e executar este script. Bem simples.

Além disso, você pode finalizar o script com string

rm $0

então ele será excluído após a execução.

informação relacionada