Compartilhando chave pública com ssh

Compartilhando chave pública com ssh

É possível configurar de alguma forma um servidor ssh que não exija nome de usuário, senha ou certificado para fazer login? Se isso não fosse possível, se eu desse a todos os clientes a mesma chave pública, cada conexão seria criptografada individualmente? (ou seja, o usuário A não conseguiu descriptografar a carga útil da conexão do usuário B)

Desejo fornecer acesso a um único programa, que solicitará um nome de usuário e uma senha.

Porém, a criptografia é essencial e os usuários não devem ser capazes de bisbilhotar uns aos outros

Obrigado

Responder1

Não acho que você possa remover a parte de autenticação do SSH porque você sempre precisa de um nome de usuário para abrir uma sessão, mas pode definir uma senha em branco e definir PermitEmptyPasswordssim na configuração do sshd.
Mas isso não é realmente seguro, é melhor usar a autenticação de chaves.

Se você fornecer uma chave pública aos seus clientes, isso significa que eles poderão permitir que você se conecte ao servidor ssh deles, não ao seu.
Acho que você deseja que os clientes se conectem ao seu servidor ssh. Nesse caso, os clientes precisam fornecer sua chave pública e você permitirá que eles se conectem. Se todos os clientes estivessem usando a mesma chave pública para se conectar ao seu servidor ssh, isso significaria que todos os clientes usariam a mesma chave privada, e isso não é uma opção (não é sua função fornecer uma chave privada e a chave privada não deve ser compartilhada )

Em relação à criptografia e espionagem, a criptografia é feita com chaves de sessão, não com chave pública/privada, mas para trocar chaves de sessão, ssh usa chave pública/privada.
Portanto, se todos os seus clientes usassem as mesmas chaves privadas, se eles espionassem uma sessão desde o início, poderiam descriptografá-la; se espionassem a sessão após a troca das chaves da sessão, seria muito difícil descriptografar a sessão.

Um bom artigo sobre como o ssh funcionahttp://www.eng.cam.ac.uk/help/jpmg/ssh/ssh-detail.html

Responder2

Um pouco tarde, mas você pode forçar um usuário a executar um programa específico no login (por qualquer meio), configurando seu shell para esse programa em /etc/passwd. Acredito que haja uma maneira mais complexa de usar sshd usando arquivos .sshrc, mas não estou presumindo que você esteja no OpenSSH - está tudo nos arquivos man.

Responder3

Pense na chave privada como osegredo. Quando você quiser provar algo, como sua identidade neste caso, você pode reivindicarconheça um segredo, neste caso, a chave ssh privada. A chave pública é esta: “pública”, e nesse sentido não pode ser usada para provar nada.

Isto vai ao encontro da recomendação de quenunca forneça a mesma chave privada a mais de um usuário. Uma enorme quantidade de falhas de segurança tem origem em tentativas de tornar os processos de segurança menos onerosos. Existem maneiras seguras de fazer isso também. Mas você, como administrador, terá que fazer o trabalho, caso contrário estará automaticamente deixando sua rede e seus usuários abertos a ataques.

"Não tome atalhos"

Responder4

Usuáriosvaipoderão espionar uns aos outros, pois poderão acessar o espaço de memória de outros processos (assumindo que possam executar programas arbitrários).

informação relacionada