Várias chaves privadas SSH, possíveis?

11

É possível ter várias chaves SSH em um único cliente e deixar o ssh escolher a correta automaticamente?

margarida
fonte

Respostas:

16

Você pode ter chaves privadas diferentes em arquivos diferentes e especificar todas elas ~/.ssh/configusando IdentityFilevalores separados (ou usando a -iopção durante a execução ssh). Eles seriam tentados em sequência (checkout man 5 ssh_config).

No ssh-agententanto, se você estiver usando , pode ser necessário informar o agente sobre as várias chaves que você está usando ssh-add.

Anil
fonte
Observe que se uma conta tiver várias chaves válidas (por exemplo, porque você usa authorized_keyscomandos específicos em vez de um shell), pode ser necessário usar a IdentitiesOnly yesopção para garantir ssh-agentque não use a incorreta. Veja também unix.stackexchange.com/q/52092/863
Tobias KIENZLER
10

Sim:

-i identity_file

Seleciona um arquivo do qual a identidade (chave privada) para autenticação de chave pública é lida. O padrão é ~/.ssh/identitypara a versão 1 do protocolo e ~/.ssh/id_dsa, ~/.ssh/id_ecdsae ~/.ssh/id_rsapara a versão 2. do protocolo. Os arquivos de identidade também podem ser especificados por host no arquivo de configuração. É possível ter várias -iopções (e várias identidades especificadas nos arquivos de configuração). O ssh também tentará carregar as informações do certificado do nome do arquivo obtido anexando -cert.pubaos nomes dos arquivos de identidade.

Basta adicionar -ipara cada identidade ou usar várias IdentityFilelinhas em você .ssh/config.

Stéphane Gimenez
fonte