É possível ter a chave pública ssh id_dsa.pub armazenada em um servidor centralizado

2

Eu gostaria de saber se é possível ter a chave pública usada para o login do ssh ser armazenada em um servidor centralizado e ter todos os servidores em que eu fizer login para apontar para este servidor centralizado para obter minha chave pública. Para que eu não precise copiar minha chave pública para cada um dos servidores que eu faço login e se isso é possível, como eu uso o ssh-agent e o keychain para usar em combinação, para reduzir o número de vezes que preciso fazer o punch? faça o login nos servidores. Não quero usar a chave privada sem senha, pois estou muito preocupado com minhas credenciais caírem em mãos erradas.

    
por Naai Sekar 24.03.2011 / 06:53

4 respostas

1

Outra solução seria exportar recursos e fantoches.

Procedimento

  1. coloque a chave ssh pública no servidor de fantoches
  2. configurar recursos exportados para colocar o arquivo em $HOME/.ssh/authorized_keys
  3. coletar as chaves em todas as outras caixas

Isso requer uma infra-estrutura de fantoches centralizada com um servidor. Os recursos exportados estão disponíveis apenas com um servidor puppet (que por coincidência é a configuração padrão em quase todos os howtos e documentações)

Referências

Prefiro remendar o SSH já que você pode trabalhar com o seu pacote de distribuição padrão sem ter que recorrer ao seu pacote (que então introduz o problema de instalá-lo em todos os hosts, mesmo com um repositório que você precisa configurar yum ou apt para saber sobre isso).

O Puppet também requer tocar em todos os hosts. Mas apenas uma vez, depois disso, você pode gerenciar tudo da sua estação de trabalho. E sim: isso poderia ser feito com chef, bcfg2 ou cfengine (ou um ssh sofisticado para loop) Eu simplesmente gosto de fazer fantoches mais do que as outras opções.

Além disso, esta não é uma solução de 5 minutos e estou pronta . Mas uma vez que você gerencia seus hosts, você se pergunta por que tudo começou com as chaves ssh, você não precisará logar depois de tudo (em um mundo perfeito)

EDIT: Apenas leia o comentário acima / abaixo (dependendo da sua classificação) você não tem controle sobre tudo. Eu sugiro que você dê uma boa olhada e decida se vale a pena o esforço de apresentar algo assim. Fabric pode ser uma alternativa, pois você pode executar comandos em uma tonelada de hosts com uma única entrada de senha, inserindo sua senha apenas uma vez e distribuindo a chave, depois execute a malha mesmo sem senha, se encontrar outras utilizações para ela.

    
por 19.06.2011 / 00:44
3

Uma maneira de resolver isso é armazenando suas chaves ssh públicas em um servidor ldap. Não tenho certeza se alguma implementação ssh tem isso, mas você pode usar o patch OpenSSH com OpenSSH-LPK para fazer esse trabalho. Eu não tentei, e presumivelmente isso só funciona se você já tiver uma infra-estrutura de ldap configurada.

    
por 24.03.2011 / 07:13
0

Você pode montar seu diretório pessoal usando o automount. Dessa forma, você terá uma cópia de sua chave pública seguindo você para o servidor que você fizer login.

    
por 24.03.2011 / 07:15
0

Duas respostas:

  1. Sim, teoricamente você poderia fazer isso com alguns links simbólicos realmente feios e um servidor NFS. Use o diretório / etc / skel para copiar um symlink para algum diretório montado do NFS para .ssh. Isso pode ter todos os tipos de outras repercussões realmente desagradáveis, e não é algo que você deva fazer.

  2. Se o que você deseja fazer é fazer login em qualquer máquina com privilégios sem senha após o login uma vez e já ter uma configuração do servidor LDAP, você e seu administrador LDAP devem procurar combinar LDAP com Kerberos. Uma vez configurado, você terá o que é conhecido como uma solução Single Sign-On (SSO) - depois de ter recebido um "ticket" para fazer login em uma máquina, esse ticket pode ser encaminhado com segurança para qualquer outra máquina para.

por 19.06.2011 / 00:57

Tags