Como configurar a chave pública ssh para outra máquina sem acesso?

Como configurar a chave pública ssh para outra máquina sem acesso?

Esta pode ser uma pergunta estúpida, mas tenho que perguntar mesmo assim:
já configurei uma chave pública ssh para minha máquina cliente A. Copiei a chave pública para o servidor remoto, tudo funciona bem, posso fazer login na máquina A.

Agora também quero acessar esse servidor de outra máquina e seguindo as práticas recomendadas, queria gerar outra chave para a máquina cliente B, em vez de usar a chave da máquina A novamente. É claro que posso gerar o par de chaves, mas não consigo copiar essa nova chave pública para o servidor porque a máquina cliente B não tem acesso ao servidor, apenas A tem.

A única solução que vejo no momento parece ser levar a nova chave pública em um pendrive para a máquina cliente A e copiá-la para o servidor de lá, mas isso parece ser um pouco tedioso e pouco prático quando n máquinas estão localizadas bastante distantes um do outro.

Qual é a abordagem certa para fazer isso?

O cliente e o servidor estão executando Linux.

Responder1

Não tenho certeza se existe uma abordagem correta, você ainda precisa acessar o servidor de alguma forma e como a máquina A é apenas um ponto de acesso por enquanto, você ainda precisa obtê-lo fisicamente pelo menos uma vez, assim como outras n máquinas. Então, por que não coletar todos os pubkeys no pendrive e movê-lo para a máquina A para espalhar para os diretórios de configuração .ssh da página inicial dos usuários do servidor?

Sem pendrive também existem algumas opções.

Var #1. Habilite temporariamente o login com senha no servidor da máquina A. Gere pares de chaves e copie pubkeys para o servidor das máquinas B, C, D, etc. Desative o login com senha no servidor.

Var #2. Se mesmo o login temporário com senha for considerado uma falha de segurança, crie um usuário temporário no servidor que não tenha acesso a nada além de seu diretório inicial, habilite o login com senha apenas para este usuário. Gere pares de chaves e copie pubkeys para o servidor das máquinas B, C, D, etc. para o diretório inicial deste usuário. Pubkey não é confidencial e seu potencial sequestro é considerado uma situação segura, porém sua falsificação não é, então você pode considerar criptografá-lo ou assiná-lo de alguma forma (gpg). Faça login no servidor da máquina A, espalhe o pubkey para os usuários do servidor, desative o usuário temporário usado.

Var #3. Se a reinicialização do servidor ssh não for uma opção, você poderá tornar a máquina A um servidor ssh temporário e usá-la como uma estação intermediária para copiar pubkeys ssh para o servidor real.

Var #4. Utilize outro canal de comunicação (outro servidor remoto, talvez até público, e-mail, etc.). Mais uma vez, o pubkey não é confidencial, mas certifique-se de assiná-lo para protegê-lo contra falsificação.

Responder2

Bem, você TERÁ que transferir a chave pública para o servidor remotode alguma forma.

Porém, como a chave pública não é confidencial (daí o nome), fique à vontade para copiá-la em um pendrive, carregá-la em algum lugar, colocá-la em uma nota, etc...

Apenas certifique-se de que a chave adicionada no servidor seja realmente aquela que você carregou do seu cliente!

Responder3

Normalmente movo chaves ssh copiando e colando. mas você também pode enviá-los por e-mail, http, netcat, etc., são apenas texto.

Se você conseguir obter a chave pública da máquina C na máquina B, poderá fazer ssh de B para A e instalar a chave para C

informação relacionada