Estou começando uma pequena empresa de hospedagem para alguns amigos e pequenos clientes, nada grande.
Eu quero dar aos meus "clientes" o direito de gerenciar seus arquivos no servidor. Eu odeio FTP, pois não é seguro e, na minha opinião, é obsoleto.
Então, eu gostaria de permitir que meus usuários se conectassem através do SFTP, mas não de SSH. (Eu sei, eu sei, o SFTP está usando SSH). Mas eu só estava pensando, é possível?
Portanto, eu não precisaria instalar um serviço FTP no servidor e tudo seria incrível!
Existe uma concha esponja que faz isso. Também pode chroot .
fonte
Rssh do Google Checkout, que é um shell falso que permite sftp, mas nega ssh
Mais sobre o RSSH
http://www.pizzashack.org/rssh/
RPMs
http://pkgs.repoforge.org/rssh/
Você pode configurar o rssh para permitir / negar comportamentos diferentes, como sft, scp etc.
fonte
Você pode modificar o arquivo / etc / passwd e fornecer a esse usuário um shell falso, para que ele não possa usar o ssh.
fonte
/bin/false
nem ssh ou SFTP obrasEu uso o método de especificar o shell do usuário como / bin / false, conforme mencionado. No entanto, você deve garantir que / bin / shell esteja em / etc / shells. Então funciona ssh = no ftp = ok.
Também uso o vsftpd e adiciono este
chroot_local_user = YES ao /etc/vsftpd/vsftpd.conf, para que os ftp-ers não possam ver outra data além da sua.
A vantagem dessas mudanças simples não é uma configuração irritante para a configuração do ssh para cada usuário.
fonte
Não se esqueça de encontrar a linha
UsePAM yes
e comentar:Sem desabilitar isso, seu servidor SSH travaria ao recarregar / reiniciar. Como você não precisa de funções sofisticadas do PAM, isso é bom.
fonte
Configurar o ssh para ativar apenas o sftp para alguns usuários selecionados é uma boa ideia e funciona corretamente, desde que você instale
scponly
ourssh
.rssh
funciona bem, a menos que você precise configurar a prisão, neste caso, tente seguir as instruções fornecidas pelos manuais do CHROOT é uma loucura, levando a "copiar" grandes partes dos executáveis do sistema e da biblioteca logo abaixo de "cada prisão do usuário", incluindo orssh
próprio shell. É um método de desperdiçar espaço.scponly
precisa de um entendimento profundo da configuração, levando a um problema sempre presente de rejeição de login em caso de instalação na prisão.A maneira direta de permitir funcionalidades "ftp" com a prisão funcionando corretamente, o suporte a SSL / TLS para transações seguras e o logon é usar um VSFTPD "antigo mas funcional", que é instalado de forma rápida e limpa e oferece toda a configurabilidade necessária e, por último mas não menos importante: funciona!
Maurizio.
fonte
Infelizmente, todas as respostas são extremamente enganosas: faça o seguinte:
Primeiro, crie sftp de usuário e grupo sftp
Crie um diretório separado como raiz para os arquivos SFTP:
sudo mkdir -p /home/sftpdir
Reinicie e verifique o status do serviço sshd
reinicialização sshd do serviço sudo
status de serviço sshd
Crie um arquivo Shell. Adicionar execução para ecoar uma mensagem de notificação
sudo touch / bin / sftponly echo -e '#! / bin / sh \ necho "Esta conta está limitada apenas ao acesso SFTP."' | sudo tee -a / bin / sftponly
Conceder permissões de execução e anexar ao arquivo shells
sudo chmod a + x / bin / sftponly echo "/ bin / sftponly" | sudo tee -a / etc / shells
finalmente teste e você não deve conseguir se conectar.
Um modelo para usar o cliente SFTP com uma chave SSH e verbosidade básica:
sftp -v -oPort = $ RANDOM_PORT -i ~ / .ssh / $ SSH_KEY.pem sftpuser @ $ HOST
fonte