O ServerA precisa ter um diretório do ServerB montado em um local, com permissões de gravação.

Tenho usado SSHFS para isso. Acho o SSHFS muito estável (100% confiável), enquanto o NFS não era tão estável, além de ser muito difícil de configurar, e por padrão se expor ao público, etc ...

Com o SSHFS, tive que criar um usuário local no ServerB e colocar sua chave privada no ServerA para configurar as montagens.

No entanto, se alguém invadir o ServerA, o hacker será capaz de acessar qualquer diretório / arquivo que possa ter 'outras' permissões de leitura em qualquer lugar no ServerB, fazendo login no ServerB com aquele usuário e sua chave privada.

Existe alguma maneira de evitar isso, de forma que o ÚNICO diretório que este usuário pode acessar é o diretório que precisa ser montado no ServerA?

answer

Configure o servidor ssh para colocar o usuário e seus arquivos em um chroot restritivo. Se estiver usando OpenSSH, provavelmente com diretivas ChrootDirectory eForceCommand internal-sftp

NFS requer a definição de volumes exportados e não é um shell remoto. Nesses aspectos, ele se ajusta bem ao cenário de compartilhamento de arquivos. Embora o NFS possa ser criptografado, geralmente não é, portanto, por motivos de segurança, geralmente está confinado a uma rede privada.

Ambos resultarão em uma experiência de desempenho ruim se a rede cair ou o controle remoto for desligado inesperadamente.