Como configurar o ssh para carregar mais chaves privadas automaticamente?

0

Como o ssh procura pela chave privada para carregar?

Eu sei que ele tenta carregar ~/.ssh/id_rsa e depois disso ~./.ssh/id_dsa .

Agora eu tenho duas chaves. É possível nomeá-los de tal forma que o ssh os capte diretamente?

Se não, seria possível enganá-lo e colocar a segunda chave dentro do arquivo id_dsa , mesmo que seja uma chave rsa ?

    
por sorin 08.04.2012 / 19:23

1 resposta

1
  • Se um agente SSH estiver em execução, o ssh tentará todas as chaves carregadas no agente.

  • Se uma opção -i file for fornecida, ssh usa a chave especificada.

  • Se IdentityFile estiver definido na linha de comando ou em ~/.ssh/config , ssh usará a chave especificada. (Você pode especificar as chaves por nome de host ou domínio. Veja a página de manual ssh_config(5) .)

  • Caso contrário, ele usa uma lista codificada { id_ecdsa , id_rsa , id_dsa } no diretório ~/.ssh .

Destes, ssh-agent pode ser a opção mais conveniente - também elimina a necessidade de desbloquear a chave privada todas as vezes. Use ssh-add ~/.ssh/id_dsa para carregar uma chave. Se um agente não estiver em execução, inicie-o com exec ssh-agent bash ou usando ferramentas como Chaveiro . (Normalmente, ambientes como o GNOME, Unity ou Mac OS X devem iniciar um agente automaticamente.)

Se você decidir usar ssh-agent e precisar usar chaves diferentes para máquinas diferentes, poderá editar ~/.ssh/config :

Host one.example.com
    IdentityFile ~/.ssh/id_one
Host two.example.com
    IdentityFile ~/.ssh/id_two
Host *.foo.org
    IdentityFile ~/.ssh/id_foo.org

Note que o nome do arquivo não tem absolutamente nenhum significado para ssh ; Ele tratará ambos id_dsa e id_asdfghjk identicamente. Isso significa que você pode nomear uma chave RSA id_dsa . No entanto, ele não aceitará duas chaves em um único arquivo.

    
por 08.04.2012 / 19:50

Tags