L'indirizzo ssh registrato con git remote probabilmente già includono il nome utente, quindi si avrebbe bisogno di utilizzare un URL ssh completa come:
[email protected]:arepo
che non funzionano, perché ssh userà le chiavi pubbliche/private predefinite (attualmente utilizzate dal primo utente per l'autenticazione).
È possibile registrare un nuovo telecomando nella configurazione locale:
# use the current ssh address registered for origin, changing just the user
# but you need a config file
git remote add originOtheruser otheruser:arepo
è necessario disporre di un file$HOME/.ssh/config
, al fine di definire la voce ssh 'altroutente', perché ssh ha bisogno di sapere che cosa pubblica/chiave privata ha bisogno di usare: non può essere quelli di default ($HOME/.ssh/id_rsa
e $HOME/.ssh/id_rsa.pub
)
si veda ad esempio "how to add deploy key for 2 repo with 1 user on github"
Host otheruser
HostName remote
User otheruser
IdentityFile ~/.ssh/otheruser
che suppone che avete memorizzato le chiavi pubbliche/private per altroutente come:
$HOME/.ssh/otheruser
$HOME/.ssh/otheruser.pub
Ora, è possibile utilizzare tale nuovo telecomando per spingere:
git push originOtheruser master
Sì, l'ho provato. Di solito faccio copia-incolla da "git remote -va". Funziona, anche se crea un ramo di monitoraggio remoto aggiuntivo su pull. – Andor
Di solito uso un pubkey per spingere i commit. Anche se ho specificato un utente diverso, ottengo ancora l'autorizzazione negata (publickey). fatale: Impossibile leggere dal repository remoto. Come spingere in modo che possa inserire la mia password per il diverso account? – nipponese