Como criar SFTP apenas usuário no Debian 11

Como criar SFTP apenas usuário no Debian 11

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. A segurança primeiro é uma regra de polegar para os administradores do sistema. Em alguns casos, precisamos permitir que usuários remotos acessem o sistema de arquivos em nosso sistema, mas você não deseja permitir que eles obtenham um shell. Isso permitirá que um canal seguro forneça acesso limitado a arquivos e diretórios específicos.

Este tutorial ajudará você a configurar o SFTP Somente Access (sem acesso à Shell) no Sistema Debian 11. Ele criará um ambiente de chroot em seu sistema para limitar o usuário SFTP a um diretório específico apenas. Além disso, ele permitirá o acesso SFTP apenas sem acesso SSH ao usuário.

Pré -requisitos

  • Um sistema de bullseye linux em execução
  • Você deve ter conta privilegiada sudo com acesso shell

Etapa 1 - Crie um novo usuário

Primeiro de tudo, crie um novo usuário para se conectar com o servidor SFTP. O seguinte comando criará uma nova conta chamada sftpuser Sem acesso de casca. Você pode usar qualquer nome de sua escolha ou requisito.

sudo adduser -shell /bin /false sftpuser  

Etapa 2 - Crie um diretório para acesso SFTP

Você criou um usuário para SFTP. Agora, crie um diretório para configurar como chroot para o SFTP. Para este exemplo, vou criar um /var/sftp diretório. O diretório deve ter propriedade raiz para configurar como diretório chroot. Portanto, criaremos um subdiretório em /var /sftp com acesso a gravação à conta SFTP.

Crie a estrutura do diretório com o seguinte comando:

sudo mkdir -p/var/sftp/arquivos  

Em seguida, temos que definir a permissão adequada dos diretórios para configurar como acesso a chroot com acesso a gravação ao usuário. Aqui /var /sftp deve ter a propriedade e o grupo de raiz com permissão adequada. Para definir essa permissão, digite:

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

Agora, mude a permissão para o "arquivos" diretório para permitir gravar acesso ao sftpuser. Para definir essas permissões, digite:

sudo chown sftpuser: sftpuser/var/sftp/arquivos  

Depois que o SFTPUSER se conectar ao servidor, obterá /var /sftp como o diretório raiz. Ele não pode acessar o sistema de arquivos fora dele. Além disso, o usuário pode ler/gravar arquivos no diretório "Arquivos" somente.

Etapa 3 - Configure o SSHD apenas para SFTP

Em seguida, você precisa configurar o servidor SSH para permitir que o "sftpuser" conecte o servidor ao SFTP apenas sem acesso. Para fazer as alterações necessárias, edite o arquivo de configuração SSH.

sudo nano/etc/ssh/sshd_config  

e 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 
Configuração de chroot para usuário SFTP

Verifique se todas as configurações estão corretas. Em seguida, salve as alterações e reinicie o serviço SSH para aplicar alterações.

sudo systemctl reiniciar ssh  

Tudo feito, o SFTP só é criado com sucesso em seu sistema Debian. Agora tente fazer login no sistema remoto com as credenciais do novo usuário e verifique se tudo está funcionando corretamente.

Etapa 4 - Conecte -se ao SFTP

Pode -se conectar a um servidor SFTP remoto usando uma linha de comando ou aplicativos gráficos como FileZilla ou WINSCP. Neste tutorial, mostrarei a você os dois lados de conectar o servidor SFTP.

Os usuários do Linux podem usar o utilitário de linha de comando SFTP para conectar-se a instâncias SFTP remotas.

SFTP [email protegido]  [Email Protected] Senha: SFTP> 

Interface GUI ou usuários do Windows podem usar clientes gráficos SFTP. Por exemplo, use o FileZilla Client para conectar apenas a conta SFTP remota no sistema remoto.

Verifique nenhum acesso do shell:

Como esta conta é configurada para a conexão somente SFTP. Portanto, se algum usuário tentar se conectar via SSH será desconectado imediatamente após a autenticação bem -sucedida. O usuário receberá a mensagem abaixo:

ssh [email protegido]  [Email Protected] Senha: Este serviço permite apenas conexões SFTP. Conexão com SFTP.Tecadmin.rede fechada. 

Conclusão

Neste guia de instruções, você aprendeu a criar um ambiente de prisão chroot para usuários do SFTP sem acesso ao shell ao servidor. O ambiente Chroot protege o sistema de arquivos, impedindo que os usuários acessem arquivos fora do diretório definido. Este tutorial é criado e testado com o sistema Debian 11 Bullseye, mas isso funcionará em outras versões do Debian.