Sto cercando di capire come interagiscono le configurazioni in .ssh/config e .git/config.Account github multipli: quali valori per Host in .ssh/config?
Ecco la situazione: ho due conti separati GitHub, diamo loro GH0 e GH1 chiamano, e voglio interagire con entrambe le "passwordlessly", vale a dire, usando le chiavi SSH in ~/.ssh/id_rsa.GH0.pub
e ~/.ssh/id_rsa.GH1.pub
. Al momento funziona per GH0 ma non per GH1. (Per esempio, push
comandi ai GH1 morire con ERROR: Repository not found.\nfatal: The remote end hung unexpectedly.
;. ssh -T [email protected]
opere, ma solo perché collega GH0
)
Ciò significa che per ognuno di questi account github devo avere una sezione corrispondente a ~/.ssh/config, specificando quale file chiave ssh usare per questo. (Ad esempio, la sezione per GH0 avrà qualcosa come IdentityFile ~/.ssh/id_rsa.GH0
, ecc.)
La domanda è: che altro devo inserire in ciascuna di queste sezioni? Più in particolare,
cosa devo mettere come argomento alla parola
Host
in~/.ssh/config
?
Le informazioni che ho trovato finora su questo non hanno senso per me. In alcuni esempi, vedo cose come
Host github.com
Hostname github.com
User git
IdentityFile ~/.ssh/id_rsa
Host ac2.github.com
Hostname github.com
User git
IdentityFile ~/.ssh/id_rsa_ac2
Da dove viene questo "ac2". prefisso nel secondo Host
venuto da ???
Dove trovo quelli corrispondenti per i miei account github?
alcune delle informazioni che ho trovato un conduttore di indovinare che gli argomenti alla parola Host
sono infatti arbitraria, il che implica che la seguente sarebbe bene troppo
Host omgwtfbbq
Hostname github.com
User git
IdentityFile ~/.ssh/GH0
Host 4.8.15.16.23.42
Hostname github.com
User git
IdentityFile ~/.ssh/GH1
Ma se è così, questo solleva ancora un'altra domanda: In che modo git
(o gitub) è possibile sapere quale di queste due sezioni utilizzare per un dato comando?
Anche in questo caso, mi immagino che questo sarebbe stato specificato nel file del progetto .git/config
, sotto qualche [remote ...]
sezione, ma come?
devo ricorrere a indovinare perché, per prima cosa, non sono stato in grado di trovare la documentazione per l'interpretazione delle coppie chiave-valore in .git/config. Il più vicino che ho trovato è la pagina man di git-config, ma non riesco a trovare alcuna documentazione in questa pagina per il campo url = ...
in una sezione [remote ...]
. Anche la pagina man per git-remote non ha documentazione su questo campo.
Informazioni su ipotesi: cercare "remote. .url" nel manuale di configurazione di git. –
patthoyts
Fai un 'git remote aggiungi omgwtfbbq git @ omgwtfbbq: user/repo.git',' git pull omgwtfbbq master', e vedi se funziona ... –
@HieryNomus: grazie! Si prega di inviare il tuo commento come risposta in modo da poterlo selezionare – kjo