Estou no processo árduo e doloroso de configurar usuários seguros em um novo servidor LEMP da web com o Ubuntu 12.04. Eu estava inicialmente indo para configurar algo como vsftpd ou proftpd, mas muitos sugeriram apenas para usar SFTP diretamente assim que eu vou. Por fim, tenho um usuário principal (que uso simplesmente para impedir logins de raiz). Eu criei este novo usuário, gerou um par de chaves públicas, carreguei a chave pública no diretório ~/.ssh
dos usuários como authorized_key
, alterei o número da porta SSH, removi o login root e também defini passwordauthentication
como NÃO, para que o usuário seja forçado a usar a chave dele / dela para entrar. Fácil bastante (entretanto trabalhar em um PC parece ser muito mais de uma dor de cabeça para isto que minhas contrapartes de OSX / NIX).
Agora estou tentando criar novos usuários (para meus desenvolvedores da Web) que simplesmente terão acesso ao SFTP e limitarão sua exposição simplesmente ao diretório da Web de sua cobrança. Cada diretório tem o seguinte formato:
/var/www/sitename.com/public/
Minha dor de cabeça começa agora. Crie um novo usuário? Fácil. Adicionar senha? Realmente não preciso que eu esteja exigindo chaves públicas / privadas (e elas nunca terão acesso ao sudo), mas ok. Eu estou lutando no entanto com o seguinte:
- Como eu realmente armazeno esta chave pública do novo usuário no servidor? Se eu fizer login como usuário root e simplesmente criar o arquivo
authorized_keys
em seu diretório inicial, ele terá permissões de proprietário e grupo de raiz e não conseguirá efetuar login no servidor. De maneira semelhante, esses novos usuários não podem fazer login e criá-lo por conta própria, bem, porque não têm permissão para fazer o login por senha.
(nota: Eu também estou lutando para configurar o sftp e limitá-los aos seus respectivos diretórios da web, mas eu acho que posso descobrir isso mais tarde).
Algum conselho?
Editar
Atualmente, o processo é este:
- obtenha chave pública do indivíduo
- siga os seguintes comandos:
#sudo mkdir -p /home/newuser/.ssh
#sudo nano /home/newuser/.ssh/authorized_key
#(copy key into single line and save)
#chown -R newuser:newuser /home/newuser
#chmod 700 /home/newuser/.ssh
#chmod 600 /home/newuser/.ssh/authorized_key
Suponho que isso não seja absolutamente horrível, mas se tivermos um grande número de desenvolvedores (mais a quantidade de tempo que está prestes a levar para configurá-los com a parte do SFTP e o limite de diretórios), parece um enorme dor.