Como configurar um servidor rsync e sftp público

3

Eu quero configurar um servidor de armazenamento público que permita sftp e rsync (através de ssh). Eu trabalhei com chroot jail e rssh . Quando o usuário se conecta ao servidor com sftp , ele pode ler todos os arquivos na jaula chroot (como / lib e / bin) no chroot . Da mesma forma com rsync ( rsync --list-only user@server:/ ). Eu gostaria de ter uma configuração onde o usuário só pode ver e não deixar o seu diretório home.

Um requisito adicional é que eu não quero configurar um ambiente chroot para cada usuário.

Eu já tentei as instruções chrootdirectory e forcecommand em sshd_config , o que funciona muito bem para sftp , mas não permite rsync .

    
por vdrmrt 03.05.2013 / 13:35

2 respostas

1

para a parte sftp você pode ver as diretivas Subsistema sftp internal-sftp juntamente com o ChrootDirectory no sshd_config.

    
por 03.05.2013 / 13:44
0

Você tentou configurar comandos nas chaves aceitas, conforme proposto em tentando configurar o chroot'd rsync ?

Trecho:

Granting ssh access does not necessarily imply full shell access, for example, this shows how to use the ssh authorized_keys file to allow backup via rsync while limiting available commands to just the rsync receiver.

Something like this, in your authorized_keys file:

command="/usr/bin/rsync --server -a . /tmp/user1" ssh-rsa ... user1
command="/usr/bin/rsync --server -a . /tmp/user2" ssh-rsa ... user2

Há também ponteiros para dois artigos do blog. O primeiro explica como restringir o ssh ao rsync:

O segundo que você não quer, configurando um ambiente chroot.

Pessoalmente eu iria para o chroot e definindo $USER/{bin|lib} como montagens de bind. Desta forma, eu manteria um único ambiente chroot montado no chroot de cada usuário.

    
por 14.05.2013 / 12:30