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.