Minha chave SSH está emparelhada comigo como humana ou com minha conta de usuário em uma máquina?

11

Nos últimos dias, tenho tentado me familiarizar com o SSH e espero ter entendido.

Porém, resta uma pergunta: minha chave está associada a mim (como usuário) ou à minha conta de usuário na máquina?

Graslandpinguin
fonte

Respostas:

8

Você não tem uma chave, você tem um par de chaves. Como você lida com cada um é muito diferente. Sua chave pública pode ser postada no twitter e compartilhada com todo o mundo (bandidos incluídos). Sua chave privada deve ser cuidadosamente protegida.

Eu tenho a mesma chave pública em todos os servidores que acesso através do SSH.

Eu mantenho a mesma chave privada nos dois PCs desktop e em um netbook que uso para acessar esses servidores. Também mantenho a chave privada em uma unidade USB para uso em computadores de outras pessoas (sem copiá-la para o computador). Eu uso uma senha forte para proteger a chave privada. Não há motivo para você não poder manter a chave privada apenas em uma unidade USB (e em nenhum outro lugar).

RedGrittyBrick
fonte
2
Em nenhum outro lugar ? Você deve manter um backup (adequadamente protegido).
Lumbric
8

Uma chave privada representa sua identidade. A existência de chaves diferentes em máquinas diferentes depende de você considerar "eu na máquina A" e "eu na máquina B" como a mesma identidade.

A principal vantagem de ter uma única chave privada é a facilidade de manutenção. Você só precisa implantar uma única chave pública em todos os lugares em que deseja fazer login e poderá fazer login nela de qualquer lugar.

A principal vantagem de ter várias chaves privadas é limitar o possível dano se uma chave for comprometida.

Por exemplo, se você tiver várias máquinas fisicamente seguras e um laptop, faria sentido ter uma chave privada comum em todas essas máquinas fisicamente seguras, mas uma chave diferente no laptop. Dessa forma, se o laptop for roubado, você poderá invalidar a chave pública correspondente e ainda conseguir fazer login de uma das máquinas fisicamente seguras para outra.

Gilles 'SO- parar de ser mau'
fonte
5

Para ssh, um par de chaves (público + privado) representa uma única identidade. Você mantém sua chave privada protegida em máquinas nas quais confia e pode proteger. Você coloca suas informações de chave pública em máquinas que deseja acessar remotamente por meio de autenticação de chave.

Você não deve colocar sua chave privada em máquinas nas quais não confia - apenas copiar .ssh / around pode ser arriscado.

Nas máquinas às quais você deseja se conectar, você coloca uma cópia da sua chave pública em um arquivo específico (normalmente .ssh / allowed_keys) que permite que a autenticação ocorra. Portanto, tecnicamente, você não está copiando chaves em lugar nenhum, apenas copiando o conteúdo de apenas sua chave pública para um arquivo diferente.

Supondo que você tenha uma máquina em que confia e 12 em que deseja se conectar, você colocaria suas informações de chave pública no arquivo .ssh / allowed_keys em 12 máquinas.

Mais tarde, você pode ter outra máquina em que confia totalmente. A escolha é sua: crie um novo par de chaves pública / privada para essa máquina e copie a chave pública para os arquivos 12 .ssh / allowed_keys ou copie sua chave privada para a nova máquina (nesse momento, você não fará nada com as outras 12 máquinas). Depende de quanto você confia nas várias máquinas em questão.

Eu tento ter o mínimo de pares de chaves que fizer sentido para a segurança que você está tentando alcançar.

Sua premissa básica é correta, porém, o par de chaves está mais relacionado a você do que a uma conta (ou seja, você pode colocar a mesma chave pública em 3 contas em um servidor e, em seguida, enviar ssh a qualquer uma delas na sua máquina, com apenas um chave privada única).

EightBitTony
fonte
1

Minha comparação de teclas está mais relacionada a mim (como humano) ou à minha conta de usuário na minha máquina local?

As chaves estão relacionadas a qualquer conta de usuário que você escolher para instalá-las.

Você tem a mesma chave em todos os seus computadores que usa? Ou diferentes para cada máquina?

Você pode criar várias chaves para cada máquina ou usar a mesma chave em qualquer lugar; É com você. Qual deles faz pouca ou nenhuma diferença.

psusi
fonte
'Faça o que quiser' não é tão útil.
Eric Wilson
@FarmBoy, responder diretamente a uma pergunta de "de que maneira funciona" com "pode ​​ser feito de qualquer maneira" dificilmente é uma resposta inútil.
Psusi
1
A pergunta era mais 'de que maneira deveria ser feita'; portanto, se a resposta for 'pode ser feita de qualquer maneira', seria melhor incluir vantagens de várias abordagens e algumas sugestões de como alguém tomaria a decisão.
Eric Wilson
@FarmBoy não é assim que eu leio a pergunta. Eu li como é feito. Quanto ao melhor caminho - não faz diferença. Ele literalmente se resume a como você se sente.
Psusi