Linux y Git se llevan a las mil maravillas y tal es su integración, que nuestro usuario del sistema operativo es el que se usa por defecto en Git. Además ya tenemos una clave privada y pública generadas para poder trabajar con SSH.
Pero... ¿Qué pasa si mi usuario del repositorio Git con el que tengo que trabajar no es el mismo que el que uso en el sistema?
En Linux, para bien o para mal siempre se rellenará ese usuario automáticamente con el del sistema y nunca te lo preguntará. Únicamente te pedirá la clave, que obviamente no sirve de nada porque el usuario no es el que debiera.
Una forma rápida y sencilla para solucionar este inconveniente, es incluir el usuario dentro de la URL del repositorio.
ssh://user@domain:port/path/repo.git
Suele ser bueno explicitar lo máximo posible la información de conexión dentro de la URL, sobre todo el puerto si no es el de por defecto. En el caso de SSH, el puerto por defecto es 22.
Para modificar la URL del repositorio remoto podemos usar el siguiente comando:
git remote set-url origin [ssh://user@domain:port/path/repo.git]
De esta forma en vez del usuario del sistema, se usará el que especifiquemos por URL y sólo restará meter la clave para poder operar con el repositorio deseado, o si fuera el caso, subiremos la clave pública SSH al servidor del repositorio para poder operar sin usar claves.
Mmmmh, nunca he tenido el problema. Puedes especificar para el repositorio git:
$ git config user.name "piperoman"
$ git config user.email "piperoman@gmail.com"
Y lo usará, sin tener que cambiar la dirección del repositorio.
Cierto, y es lo ideal si trabajas por línea de comandos.
No obstante lo considero una solución más genérica ponerlo en la URL (nunca falla). Algunos clientes Git de Linux tienen la manía de coger el usuario del sistema en vez el user.name de la configuración de Git.