OS X, SSH: use diferentes arquivos de chave privada para diferentes servidores

2

Eu quero usar diferentes arquivos de chave privada para se conectar a diferentes servidores SSH ( ssh://git-server:port/repository ). Como administrar isso? O SSH parece assumir o arquivo de chave privada em ~/.ssh/id_rsa .

    
por Mike L. 22.11.2011 / 16:03

2 respostas

3

É por isso que existe a opção -i :

-i identity_file

Selects a file from which the identity (private key) for RSA or DSA authentication is read. The default is ~/.ssh/identity for protocol version 1, and ~/.ssh/id_rsa and ~/.ssh/id_dsa for protocol version 2.

Identity files may also be specified on a per-host basis in the configuration file. It is possible to have multiple -i options (and multiple identities specified in configuration files).

Se você quiser torná-lo permanente, você precisa configurar seu arquivo de configuração do SSH e defina a IdentityFile option de acordo.

IdentityFile

Specifies a file from which the user's DSA, ECDSA or DSA authentication identity is read. […]

Se você vir uma caixa de diálogo semelhante a esta:

VocêprecisadigitarsuasenhadeusuárioparasuacontadoOSX.NãoésuasenhadechaveouasenhaSSHremota.Issoocorreporqueaidentidadenãofoiarmazenadanochaveiro.

Deacordocom este tutorial , o seguinte comando deve adicioná-los apropriadamente:

ssh-add -K
    
por 22.11.2011 / 16:11
0

A maneira mais fácil de fazer isso é com um arquivo de configuração ssh.

cat ~ / .ssh / config

HOST *  
     USER root

Você também pode especificar determinados subdomínios para determinados usuários. Útil se o seu laptop viajar entre redes.

HOST 192.168.*.*
     USER homeuser

HOST 10.2.*.*
     USER workuser

Você pode até mesmo configurar por domínios e usar chaves ssh diferentes para domínios diferentes.

HOST *.microsoft.com
     USER bill
     IdentityFile ~/.ssh/microsoft/id_rsa

HOST *.apple.com
     USER steve
     IdentityFile ~/.ssh/apple/id_rsa
    
por 23.04.2014 / 08:06