Acesso não chroot
Se você não tiver uma configuração de servidor FTP e confiar no usuário que fará o login, para não ficar mexendo muito em seu servidor, eu estaria inclinado a fornecer uma conta para o SFTP no sistema. em vez disso.
O wiki do CentOS mantém um simples howto intitulado: Configuração simples do SFTP que faz com que seja bem fácil de usar.
Eu digo que é sem dor porque você literalmente só tem que fazer a conta e se certificar de que o firewall permite o tráfego SSH, certifique-se de que o serviço SSH está sendo executado, e você está praticamente pronto.
Se sshd
ainda não estiver em execução:
$ /etc/init.d/sshd start
Para adicionar um usuário:
$ sudo useradd userX
$ sudo passwd userX
... set the password ...
Quando terminar a conta:
$ sudo userdel -r userX
Acesso Chroot
Se, por outro lado, você quiser limitar esse usuário a um diretório designado, o servidor SFTP incluído com o SSH (openssh) fornece uma configuração que facilita a ativação. É um pouco mais trabalho, mas não muito. As etapas são abordadas aqui neste tutorial intitulado: Como configurar o SFTP do Chroot no Linux (Permitir somente SFTP, não SSH) .
Faça essas alterações no seu arquivo /etc/ssh/sshd_config
.
Subsystem sftp internal-sftp
## You want to put only certain users (i.e users who belongs to sftpusers group) in the chroot jail environment. Add the following lines at the end of /etc/ssh/sshd_config
Match Group sftpusers
ChrootDirectory /sftp/%u
ForceCommand internal-sftp
Agora, você precisará criar a árvore de diretórios chrooted onde esse usuário ficará bloqueado.
$ sudo mkdir -p /sftp/userX/{incoming,outgoing}
$ sudo chown guestuser:sftpusers /sftp/guestuser/{incoming,outgoing}
As permissões devem ser semelhantes às seguintes:
$ ls -ld /sftp/guestuser/{incoming,outgoing}
drwxr-xr-x 2 guestuser sftpusers 4096 Dec 28 23:49 /sftp/guestuser/incoming
drwxr-xr-x 2 guestuser sftpusers 4096 Dec 28 23:49 /sftp/guestuser/outgoing
Os diretórios de nível superior gostam disso:
$ ls -ld /sftp /sftp/guestuser
drwxr-xr-x 3 root root 4096 Dec 28 23:49 /sftp
drwxr-xr-x 3 root root 4096 Dec 28 23:49 /sftp/guestuser
Não se esqueça de reiniciar o sshd
server:
$ sudo service sshd restart
Agora crie a conta userX:
$ sudo useradd -g sftpusers -d /incoming -s /sbin/nologin userX
$ sudo passwd userX
... set password ...
Você pode verificar se a conta foi criada corretamente:
$ grep userX /etc/passwd
userX:x:500:500::/incoming:/sbin/nologin
Quando acabar a conta, elimine-a da mesma forma acima:
$ sudo userdel -r userX
... e não se esqueça de remover as alterações do arquivo de configuração que fizemos acima, então reinicie o sshd
para torná-las ativas mais uma vez.