2012-04-06 15 views
6

Creo un usuario deploy, genero un ssh_key, agrego id_rsa.pub como la clave de despliegue de github.cómo agregar la clave de despliegue para 2 repositorio con 1 usuario en github

este deploy usuario necesita tirar 2 repo, así que agrego el mismo ssh_key a otro repositorio como clave de implementación.

pero dígame, despliegue la clave que ya está en uso.

y no sé cómo agregar 2 id_rsa.pub para 1 usuario.

actualización:

añado id_rsa_assets adicional, pero todavía no puede tirar.

ssh-add .ssh/id_rsa_assets 

No se pudo abrir una conexión con su agente de autenticación.

.ssh/config

Host guardians 
    Hostname github.com 
    User git 
    IdentityFile ~/.ssh/id_rsa 

Host assets 
    Hostname github.com 
    User git 
    IdentityFile ~/.ssh/id_rsa_assets 
+0

Posible duplicado de [github deploy keys: cómo autorizo ​​más de un repositorio para una sola máquina] (https://stackoverflow.com/questions/11656134/github-deploy-keys-how-do-i-authorize -more-one-repository-for-a-single-mac) –

Respuesta

8

Se pueden crear dos claves públicas/privadas con cualquier nombre que desee:

~/.ssh 
    repo1 
    repo1.pub 
    repo2 
    repo2.pub 

    config 

(es decir, que no tiene que ser nombrado id_rsa(.pub) a trabajar, siempre que indique ssh dónde buscar.
Aquí es donde entra en juego 'config': el archivo config incluye el nombre de sus dos conexiones para GitHub repo1 y GitHub repo2 con, por cada conexión, el camino hacia su clave repo privada, como se describe en "change github account mac command line" y en "Quick Tip: How to Work with GitHub and Multiple Accounts":

Host githubRepo1 
HostName github.com 
User git 
IdentityFile ~/.ssh/repo1 

Host githubRepo2 
HostName github.com 
User git 
IdentityFile ~/.ssh/repo2 

De esta manera se puede tirar de cualquiera de los dos repositorios, siempre y cuando se están usando sus direcciones ssh.

+0

cuando ejecuto ssh-add ~/.ssh/repo2 decía 'No se pudo abrir una conexión con su agente de autenticación'. –

+1

@guilin 桂林: consulte https://www.cs.indiana.edu/Facilities/FAQ/Security/openssh.html: su sesión no se está ejecutando bajo 'ssh-agent'. Puede solucionar esto reiniciando un nuevo shell bajo el agente ejecutando: 'exec ssh-agent bash' donde puede reemplazar' bash' con el shell de su elección. Una vez que hagas esto, deberías poder ejecutar 'ssh-add' para cargar tu clave para ese shell. – VonC

Cuestiones relacionadas