Alterando a pasta raiz do servidor ssh

Alterando a pasta raiz do servidor ssh

Existem algumas questões semelhantes, mas não iguais. Não quero alterar a pasta padrão. então eu quero definir a PASTA ROOT para conexão ssh. Quero dizer, a única pasta à qual o cliente tem acesso é a que eu configurei. Quero definir um caminho que meu cliente só tenha acesso a ele e não possa usar o cd ...

Eles não podem acessar as pastas superiores porque não têm acesso e permissão.

Editar: a coisa mais importante que quero fazer é ter um servidor local com alguns outros dispositivos para escrever nele, mas nem todos os arquivos acessam. Se houver uma maneira melhor que o ssh, desculpe pela minha pergunta ruim.

Obrigado

Responder1

Você precisa definir ChrootDirectorya configuração do sshd para o referido usuário, ou para algum grupo, ou para todos os usuários, mas isso é nojento.

Você cria um novo arquivo, digamos, /etc/ssh/sshd_config.d/chroot_some_users.confe coloca o seguinte:

Match User myuser
     ChrootDirectory %h

Se você deseja ter isso para vários usuários, use Match Group groupnamee adicione todos os usuários necessários a esse grupo.

Nas distribuições Linux modernas, existe Include /etc/ssh/sshd_config.d/*.confo arquivo /etc/ssh/sshd_config. Em distribuições mais antigas, você mesmo pode precisar adicionar esta linha; basta anexá-lo no final. Depois de fazer tudo, verifique com sshd -t, e se não reportar nenhum erro, é seguro recarregar a configuração com systemctl reload sshd.service.

O usuário myuseracabará vendo seu diretório inicial como a raiz do sistema de arquivos via SSH. Observe que eles não poderão fazer login via SSH, porque esse chroot impedirá que eles vejam o binário do shell e as bibliotecas necessárias, a menos que você os disponibilize em seu diretório inicial. Mas eles ainda poderão usar SFTP para transferir arquivos e encaminhar portas TCP.

Leia man sshd_config(completamente!) E man sshdpara muitos detalhes importantes e úteis.

informação relacionada