Como criar usuário SFTP sem acesso do Shell no CentOS/RHEL 8

Como criar usuário SFTP sem acesso do Shell no CentOS/RHEL 8

SFTP (protocolo de transferência de arquivos SSH) é um protocolo de transferência de arquivo seguro entre dois sistemas. Ele percorre o protocolo SSH e compartilha a mesma porta 22. Este tutorial ajudará você a criar apenas usuários de acesso ao SFTP (sem acesso SSH) nos sistemas CentOS 8 e Redhat 8. O usuário pode conectar o servidor apenas com SFTP e ter permissão para acessar o diretório especificado. Os usuários não podem ser ssh no servidor. Siga o tutorial abaixo para criar apenas a conta SFTP no CentOS 8 e Rhel 8.

Etapa 1 - Crie uma conta

Primeiro de tudo, crie uma conta de usuário para o acesso SFTP. Para este tutorial, estamos criando um usuário chamado sftpuser Sem acesso de casca. Além disso, defina uma senha forte para o usuário.

sudo adduser -shell /bin /false sftpuser sudo passwd sftpuser 
Alteração de senha para o usuário sftpuser. Nova senha: reddeme a nova senha: Passwd: todos os tokens de autenticação atualizados com sucesso. 

Etapa 2 - Crie diretório

Agora, crie a estrutura do diretório para ser acessível pelo usuário do SFTP. Vamos restringir o novo usuário a este diretório apenas. Portanto, o usuário não pode acessar arquivos a outros diretórios.

sudo mkdir -p/var/sftp/arquivos 

Altere a propriedade do diretório para usuários SFTP recém -criados. Para que o SFTPUSER possa ler e escrever neste diretório.

sudo chown sftpuser: sftpuser/var/sftp/arquivos 

Você deve definir o proprietário e o proprietário do grupo do /var /sftp como 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 CHOW 

Etapa 3 - Configure SSH para SFTP

Como sabemos, o SFTP é executado sobre o protocolo SSH, precisamos configurar isso no arquivo de configuração. Edite o arquivo de configuração SSH em um editor de texto.

sudo vim/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 

Salve a configuração e reinicie o serviço SSH para aplicar alterações.

sudo systemctl reiniciar sshd.serviço 

Tudo feito, seu sistema está pronto para aceitar a conexão SFTP apenas para a conta criada. Vamos testar a conexão SFTP e também garantir que o usuário não esteja autorizado a SSH.

Etapa 4 - Teste a conexão SFTP

Estou usando o Filezilla para a conexão com a instância SFTP dos meus sistemas Windows. Os usuários de desktop do Linux também podem usar o Filezilla para conexão.

Para o servidor Linux, os usuários podem usar o utilitário de linha de comando SFTP para conectar-se à instância SFTP remota.

SFTP [email protegido] 
Conectando ao SFTP.Tecadmin.NET… [Email Protected] Senha: SFTP> 

Conecte -se com o Filezilla:

Esta conta está configurada apenas para conexão 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. 

A mensagem acima (este serviço permite apenas conexões SFTP.) mostra que o usuário tem apenas acesso SFTP. Os usuários não podem conectar o servidor sobre o SSH.