Eu deveria estar acessando um servidor para vincular os servidores intermediários e ativos de uma empresa ao nosso ciclo de implantação. Um administrador do lado deles configurou as duas instâncias e, em seguida, criou um usuário no servidor para o SSH como. Estou acostumado com isso.
Na minha opinião, o que aconteceria agora seria enviar a minha chave pública, que poderia ser colocada dentro da pasta de chaves autorizadas. Em vez disso, no entanto, eles me enviaram um nome de arquivo id_rsa
que dentro do arquivo contém -----BEGIN RSA PRIVATE KEY-----
por email. Isso é normal?
Olhei em volta e posso encontrar toneladas de recursos para gerar e configurar minhas próprias chaves do zero, mas nada sobre como começar a partir das chaves privadas do servidor. Devo usar isso para gerar alguma chave para mim ou?
Gostaria de perguntar diretamente ao administrador do sistema, mas não quero parecer um idiota e desperdiçar todo mundo entre nós. Devo simplesmente ignorar a chave que ele me enviou e pedir que eles coloquem minha chave pública na pasta autorizada?
-----BEGIN RSA PRIVATE KEY-----
email é a próxima coisa assustadora depois de ver um usuário nomeado'); DROP DATABASE;--
na sua tabela de nome de usuário.'); DROP DATABASE;--
como um nome de usuário na sua tabela de banco de dados - mostra que você está escapando entrada do usuário corretamenteRespostas:
O que está "em sua mente" como o que deve agora acontecer está correto.
O email não é um canal de comunicação seguro; portanto, do ponto de vista da segurança adequada, você (e eles) deve considerar que a chave privada está comprometida.
Dependendo da sua habilidade técnica e do quão diplomático você deseja ser, você pode fazer várias coisas diferentes. Eu recomendaria um dos seguintes:
Gere seu próprio par de chaves e anexe a chave pública a um e-mail enviado a eles, dizendo:
Agradeça a eles e pergunte se eles se opõem a que você instale seu próprio par de chaves, pois a chave privada que eles enviaram deve ser considerada comprometida após o envio por email.
Gere seu próprio par de chaves, use a chave que eles enviaram para efetuar logon pela primeira vez e use esse acesso para editar o
authorized_keys
arquivo para conter a nova chave pública (e remover a chave pública correspondente à chave privada comprometida).Conclusão: você não parecerá um idiota. Mas, o outro administrador pode parecer muito idiota. Uma boa diplomacia poderia evitar isso.
Edite em resposta aos comentários do MontyHarder:
Nenhum dos meus cursos de ação sugeridos envolve "consertar as coisas sem dizer ao outro administrador o que ele fez de errado"; Eu o fiz sutilmente sem jogá-lo debaixo do ônibus.
No entanto, acrescentarei que também acompanharia (educadamente) se as pistas sutis não fossem captadas:
fonte
Sim, é exatamente isso que você deve fazer. O ponto principal das chaves privadas é que elas são privadas , o que significa que apenas você tem sua chave privada. Desde que você recebeu essa chave do administrador, ele também a possui. Para que ele possa se passar por você quando quiser.
Se a chave foi enviada a você por um canal seguro ou não, é irrelevante: mesmo que você tenha recebido sua chave privada pessoalmente, isso não mudaria nada. Embora eu concorde com os comentários de que enviar chaves de criptografia confidenciais por e-mail é a cereja do bolo: seu administrador nem mesmo finge que existe algum tipo de política de segurança em vigor.
fonte
/var/log/secure
ou similar , tenho certeza que o truque espacial não vai enganar este.Para mim, parece que o administrador gerou um par de chaves pública / privada para você, adicionou a chave pública às chaves_autorizadas e enviou a você a chave privada. Dessa forma, você só precisa usar essa chave privada para suas sessões ssh com o servidor. Não é necessário gerar você mesmo um par de chaves ou enviar ao administrador uma chave pública para sua chave privada possivelmente corrompida (sempre pense no pior caso: P).
No entanto, eu não confiaria na chave privada enviada a você por email não criptografado.
Minha abordagem seria: use a chave privada para efetuar login uma vez, adicione sua própria chave pública às chaves_estabelecidas no servidor (substituindo a chave pública original) e jogue fora essa chave privada de email. Você pode então agradecer ao administrador que ele / ela forneceu a chave privada, mas você prefere que essas informações / chaves não sejam enviadas por email (/ de todo).
fonte
-i
na linha de comando para escolher qual chave privada usar.authorized_keys
(depois de adicionar + testar o seu próprio).