as chaves SSH devem ser exclusivas para o serviço para o qual são usadas?

4

Acabei de criar um servidor virtual (ou, na linguagem do host do Oceano Digital, um 'droplet') pela primeira vez. A Digital Ocean tem uma página de instruções sobre as chaves SSH. O link nos diz para verificar se as chaves SSH existem e, em seguida, fornece instruções para gerar novos SSH chaves e, em seguida, para adicioná-los. No meu caso, usando o comando que as instruções deram, descobri que já tenho chaves SSH (o que eu suponho ter gerado quando me inscrevi no github ou no heroku)

Perguntas

1) Devo reutilizar as chaves SSH que eu já possuo ou gerar novas chaves (ou seja, elas precisam ser exclusivas do serviço para as quais eu as uso)?

2) As instruções (copiadas abaixo) falam sobre adicionar chaves SSH ao oceano digital e depois criar um servidor. No meu caso, criei o servidor antes de adicionar chaves SSH. Isso cria algum tipo de problema que eu deveria estar ciente? Devo destruir o servidor (que ainda não tem nada instalado) e criar um novo adicionando as chaves SSH no momento apropriado?

Instruções

You can add SSH keys to DigitalOcean which can then be selected during the droplet create process to add the selected SSH keys under the root user.

When using SSH keys a root password will no longer be set as SSH keys will be used as the preferred method of access.

We do not manage the server after creation, so editing, adding, or removing SSH keys from the SSH interface will not affect any of the stored keys on droplets that you have created.
    
por Michael 07.06.2013 / 19:56

2 respostas

5

As chaves SSH não precisam ser exclusivas de um serviço específico. Por uma questão de boa prática geral, eles devem ser exclusivos de uma finalidade .

Por exemplo, você como pessoa pode ter várias chaves SSH:
 Uma chave para seus sistemas pessoais  Uma chave para seus sistemas de trabalho  - Uma chave que você usa com o github / rsync.net / etc.

No trabalho, você também pode ter chaves dedicadas a programas específicos (um usado pelo Puppet, um usado pelo software de backup, etc.)

Você deve considerar suas necessidades de segurança e confidencialidade e determinar se deve criar uma nova chave ou usar uma chave existente.

As instruções coladas parecem indicar que, quando você cria uma "gota", a Digital Ocean adiciona chaves especificadas ao arquivo authorized_keys do root. Depois disso, eles não gerenciam mais o arquivo authorized_keys , portanto, se você já criou um servidor sem especificando chaves (ou deseja adicionar / alterar / excluir chaves mais tarde), precisará manualmente edite o arquivo authorized_keys do root para fazer essas alterações.
Você não precisa destruir / recriar o servidor para isso.

    
por 07.06.2013 / 20:14
1

Eu não sei nada sobre o DigitalOcean.

Você pode usar a mesma chave ssh para tudo, mas em algumas circunstâncias pode ser melhor não usar. Se você está encaminhando sua chave usando um agente SSH, existe o risco de alguém com privilégios de root na máquina para a qual você pode encaminhar poder usar sua chave, enquanto você ainda estiver conectado. Onde mais eles poderiam se conectar usando essa chave depende de onde mais você usou a mesma chave. Muitos considerariam essas preocupações paranóicas, mas igualmente há circunstâncias que exigem muito cuidado (até paranóia). Você sabe o que está em jogo mais do que eu.

Esteja ciente de que às vezes você pode obter resultados inesperados se colocar a mesma chave em um arquivo .ssh/authorized_keys duas vezes. Evite isso.

    
por 07.06.2013 / 20:19