Configurando um servidor SFTP com Chroot - Centos 6.7

1. Configurando um servidor SFTP com Chroot - Centos 6.7

Jader Souza Farias
jsfarias

(usa Ubuntu)

Enviado em 28/04/2016 - 16:22h

Não sei se é o local certo. Pesquisei aqui mas não achei nada pertinente ao SFTP e nem na subcategoria.

A dois dias chegou uma demanda para que fosse feito um servidor FTP, não muito grande, apenas o suficiente para receber uns arquivos, já que esses arquivos não ficariam armazenados no próprio servidor.
Fui atrás da melhor solução, apesar de usar linux, ainda me considero um iniciante e achei duas soluções que bem explicadas por sinal, mas de alguma forma comigo não funcionou como deveria.
Então, peguei o melhor das duas soluções e transformei em uma, que me atendeu perfeitamente. Ainda está em fase de testes, falta aplicar umas regras de firewall ainda.
Pois bem, usei um servidor virtual instalado com o CentOS 6.7, 64 bits, 80GB de HD, 4GB de RAM.
Vamos ao que interessa.

Servidor SFTP - CENTOS 6.7 64 BITS
Configurando um servidor SFTP com Chroot
Versão do do SSHD utilizado OpenSSH_5.3p1, OpenSSL 1.0.1e-fips 11 Feb 2013

INSTALAR openssh-server openssh-clientes
yum install openssh-server openssh-clientes

INICIAR O SSHD
service sshd start

ADICIONANDO O SSHD NA INICIALIZAÇÃO
chkconfig sshd on

ESCUTANDO A PORTA 22
netstat -tulpn | grep :22

EDITANDO O ARQUIVO SSHD_CONFIG
OBS: NO ARQUIVO /ETC/SSH/SSHD_CONFIG COMENTAR A LINHA
# Subsystem sftp /usr/libexec/openssh/sftp-server

EDITAR O ARQUIVO /etc/ssh/sshd_config E ACRESCENTAR AS SEGUINTES LINHAS NO FINAL DO ARQUIVO:
Subsystem sftp internal-sftp
Match Group sftp
ChrootDirectory %h
ForceCommand internal-sftp
X11Forwarding no
AllowTcpForwarding no

CRIANDO USUÁRIO PARA SFTP
Criando e adicionando usuário do grupou SFTP
useradd [nome_usuário] -g sftp -s /bin/false

Criando uma senha para o usuário
passwd [usuário]

Criando pasta em /home
mkdir /home/[usuário]/[pasta]

Dando permissões em /home/[usuário]
chown root /home/[usuário]
chmod 755 /home/[usuário]

Dando permissões em /home/[usuário]/[pasta]
chown [usuário] /home/[usuário]/[pasta]
chmod 755 /home/[usuário]/[pasta]

Rodar o seguinte comando
setsebool -P ssh_chroot_rw_homedirs on

Testando o SFTP
sftp [usuário]@localhost
Vai pedir para confirmar a chave e logo em seguida irá pedir a senha do usuário.


Espero ter ajudado.


  






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts