Como criar apenas SFTP Usuário no Ubuntu e Debian

Como criar apenas SFTP Usuário no Ubuntu e Debian

SFTP (protocolo de transferência de arquivos SSH) é um protocolo de arquivo seguro usado para acessar, gerenciar e transferir arquivos sobre uma sessão de transporte SSH criptografada. Aqui, apenas o usuário do SFTP significa criar uma conta para acessar o servidor via apenas SFTP. Esse usuário não tem acesso shell ssh. Isso permite que um canal seguro forneça acesso limitado a arquivos e diretórios específicos.

Esta postagem do blog descreve que você cria usuários somente SFTP sem acesso ao Shell em Systems Ubuntu e Debian.

Etapa 1- Criando um novo usuário

Primeiro de tudo, crie uma conta de usuário em seu sistema para usar como usuário SFTP. O seguinte comando criará uma nova conta chamada sftpuser Sem acesso de casca. Você pode mudar o nome de usuário de sua escolha

sudo adduser -shell /bin /false sftpuser  

O comando solicitará que a senha seja definida para uma nova conta.

Etapa 2 - Crie diretório para SFTP

Agora, crie a estrutura do diretório para ser acessível pelo usuário do SFTP.

sudo mkdir -p/var/sftp/arquivos  

Aqui vamos permitir que os usuários acessem o diretório "arquivos" apenas.

Agora, mude a propriedade do arquivos diretório para o sftpuser. Para que os usuários do SFTP possam ler e escrever apenas neste diretório. Nenhum arquivo fora deste diretório estará acessível.

sudo chown sftpuser: sftpuser/var/sftp/arquivos  

E defina o proprietário e o proprietário do grupo do /var/sftp para root. O usuário raiz tem acesso a ler/gravar sobre este acesso. Membros do grupo e outras contas só leram e executam permissões.

Raiz Chown Chown: raiz /var /sftp  sudo chmod 755 /var /sftp  

Isso restringirá os usuários do SFTP de escrever arquivos em /var/sftp diretório.

Etapa 3 - Configure o SSHD apenas para SFTP

/etc/ssh/sshd_config é o principal arquivo de configuração do servidor OpenSsh. Cuidado com a alteração deste arquivo de configuração, porque qualquer erro pode levar à perda de conexão.

Edite o arquivo de configuração SSH em um editor de texto:

sudo vim/etc/ssh/sshd_config  

Em seguida, adicione as seguintes configurações no final do arquivo.

Combine o usuário sftpuser forcecommand interno-sftp passwordAthentication sim chrootdirectory /var /sftp permittunnel sem permitir que não permitir que não 

Salve o arquivo e feche.

As diretivas são:

  • Corresponder ao usuário Define o nome de usuário, no qual as configurações SFTP apenas aplicadas. No nosso caso, é: sftpuser
  • ForceCommand interno-sftp Aplicar o SFTP apenas o acesso ao usuário e restringir o acesso do shell.
  • PasswordAuthentication Sim permite a autenticação de senha para o usuário.
  • ChrootDirectory /var /sftp Restringir o usuário ao acesso aos diretórios neste diretório. Aqui /var /sftp é atuado como o diretório raiz do usuário.
  • Permitir que não permitir que não Especifica se o encaminhamento de agente ssh é permitido. O padrão é sim.
  • Allowtcpforwarding no Especifica se o encaminhamento do TCP é permitido. O padrão é sim.
  • X11 para a direção do não Especificado onde o aplicativo gráfico é permitido para não

Reinicie o serviço SSH para aplicar novas configurações:

sudo systemctl reiniciar ssh  

É isso. Você concluiu com êxito as instruções para criar um usuário somente SFTP em sistemas baseados em Debian.

Etapa 4 - Dicas de segurança (opções)

Aqui estão algumas dicas de segurança básicas, mas importantes, para contas SFTP em um ambiente de produção.

  1. Execute o servidor SSH em uma porta fora do padrão
  2. Proibir a autenticação de senha e configurar a autenticação baseada em chaves
  3. Verifique se o firewall está restrito apenas a endereços IP específicos
  4. E mantenha o pacote OpenSsh atualizado

Conclusão

Este tutorial descreve você cria usuários somente SFTP no sistema Ubuntu. Ele desativou o acesso do Shell para os mesmos usuários restringirem a um diretório especificado apenas.