Posso usar o SFTP como SCP?

1

Meu cliente quer um armazenamento simples acessível via SCP e SFTP. Haverá duas contas de usuário, uma é somente leitura e a outra é leitura-gravação.

Por motivos de segurança, quero simplificar o máximo possível:

  1. Eu quero que o usuário seja restrito ao seu diretório pessoal sem uma maneira de sair
  2. O diretório raiz do usuário deve permanecer gravável. O sftp interno do SSH com o chroot infelizmente falha neste
  3. Eu não quero permitir acesso a um shell normal
  4. Eu não quero que os usuários consigam mexer com permissões / proprietários dos arquivos

Até agora eu tenho implementado SFTP usando SSH + MySecureShell, funciona e parece bastante à prova de balas. No entanto, o SCP não funciona, que era um dos requisitos do meu cliente.

  1. Existe alguma maneira de fazer o SCP funcionar com o MySecureShell? Ou alguma outra concha?
  2. Se não, existe alguma maneira de usar o sftp de uma linha de comando como você faria com scp? Quero dizer, não interativamente e usando a sintaxe o mais próximo possível do SCP.
por Jan Hadáček 29.03.2018 / 22:28

1 resposta

6

No /etc/ssh/sshd_config , altere o tipo de subsistema SFTP:

Subsystem       sftp    internal-sftp

Isto permite executar todas as operações do sistema de arquivos sem qualquer shell. Em seguida, altere o shell do usuário no arquivo passwd para /bin/true ou algo inofensivo. Garantir que "shell" adicionado seja mencionado no /etc/shells como binário legal permitido para ser usado como shell.

Você também pode restringir os usuários pelo recurso chroot do internal-sftp .

Match                   User alice 
  X11Forwarding         no
  AllowTcpForwarding    no
  ChrootDirectory       /some/place/alicedir

Os diretórios some , place e alicedir devem pertencer a root e não devem ser graváveis por ninguém, exceto root . O diretório alicedir deve conter diretórios como upload , htdocs ou que devem pertencer a alice com permissões rwx ------ / 700.

    
por 29.03.2018 / 22:47

Tags