Os usuários conectados ao meu servidor Linux devem poder fazer ssh em uma máquina remota específica com uma conta padrão. A autenticação na máquina remota usa chave pública, portanto, no servidor, a chave privada correspondente está disponível.
Não quero que os usuários do servidor possam realmente ler a chave privada. Basicamente, o fato de terem acesso ao servidor lhes permite o direito ssh, e removê-los do servidor também deve impedir a conexão com a máquina remota.
Como posso permitir que os usuários abram uma conexão ssh sem dar a eles acesso de leitura à chave privada?
Minha opinião até agora: obviamente, o executável ssh deve ser capaz de ler a chave privada; portanto, ele deve ser executado sob outro usuário no servidor que possui esses direitos. Depois que a conexão ssh é estabelecida, eu posso "encaminhá-la" ao usuário para que ele possa digitar comandos e interagir com a máquina remota.
- Será esta uma boa abordagem?
- Como devo implementar o encaminhamento?
- Como o usuário pode iniciar a conexão (ou seja, a execução do ssh pelo usuário que possui direitos de leitura na chave)?
- Existe uma brecha na segurança? - se os usuários podem executar um ssh como outro usuário, eles podem fazer tudo o que outro usuário poderia (incluindo ler a chave privada)?
~/.ssh/authorized_keysarquivo?