Configurando um chroot sftp no servidor debian

2

Estou tentando permitir que um usuário "usuário" acesse meu servidor por sftp ou ssh. Eu quero prendê-los em um diretório com o chroot. Eu li as instruções aqui , no entanto, isso não funciona. Eu fiz o seguinte:

  1. useradd user
  2. modifique o / etc / ssh / sshd_config e adicione

    Match User user

    ForceCommand internal-sftp

    ChrootDirectory /home/duke/aa/smart na parte inferior do arquivo

  3. alterou a linha do subsistema para Subsystem sftp internal-sftp

  4. reiniciou o sshd com /etc/init.d/ssh restart

  5. logado com ssh como usuário "user" com PuTTY

Putty diz "O servidor fechou a conexão inesperadamente".

Por que isso e como isso pode ser corrigido?

EDITAR

Seguindo as sugestões abaixo, criei a parte inferior do sshd_config:

Match User user
   ChrootDirectory /tmp

ainda sem alterações. Eu recebo uma senha OK mas não consigo conectar via ssh nem sftp. O que dá?

    
por dukevin 08.10.2012 / 21:45

3 respostas

1

O diretório que você define como seu chroot deve ser de propriedade de root e ter 755 permissões.

Isto é o que eu uso para minha configuração

Match user sftpuser
 ChrootDirectory /home/sftpuser
    AllowTCPForwarding no
    X11Forwarding no
    ForceCommand internal-sftp

em / home

drwxr-xr-x   5 root    users 4096 Jan 29 10:31 sftpuser

em / home / sftpuser

drwx------ 2 sftpuser users 4096 Jan 29 10:52 sftpuser

Este chroot é para o diretório / home / sftpuser, mas como eles não têm permissão para escrever nele eu crio o segundo diretório do sftpuser para eles escreverem.

    
por 07.07.2015 / 16:59
0

Acho que o problema está em ChrootDirectory /home/duke/aa/smart . O problema está relacionado às permissões. O usuário através do qual você está tentando entrar na caixa não tem a permissão executável que eu acho. Você pode tentar alterar isso para algum diretório como /tmp , onde cada usuário tem permissão total.

    
por 08.10.2012 / 21:59
0

Verifique seu /var/log/auth.log para erros ssh.

Provavelmente é um erro de permissão. O diretório chroot deve pertencer a root .

FYI, minha configuração de trabalho é assim (prefiro usar acesso de grupo em vez de acesso de usuário):

Subsystem       sftp    internal-sftp

AllowGroups sshusers sftponly

Match group sftponly
  ChrootDirectory %h
  X11Forwarding no
  AllowTcpForwarding no
  ForceCommand internal-sftp
    
por 03.12.2013 / 00:12