ein Blog

ssh-agent unter OS X

ich hab da so nen server. auf dem läuft gitlab. git clone und so mache ich da gerne per ssh. ich habe 2 ssh keys. einen persönlichen mit dem ich an die repos ran komme und einen für root dinge. der key für root dinge ist auch auf den Servern und ist in gitlab als deploy key konfiguriert.

das heißt: beide keys dürfen ssh git@git der root key darf ssh root@git

ich habe versucht das ganze in ~/.ssh/config festzulegen und bin zu dem Entschluss gekommen, dass es nicht funktioniert.

oder es funktioniert nur manchmal.

killall ssh-agent
ssh git@git
so werde ich vom system nach dem Passwort für den key gefragt und von gitlab mit meinem Namen begrüßt,

wenn ich erst ssh root@git mache, werde ich nach dem Passwort für den root key gefragt. wenn ich danach ssh git@git mache, probiert ssh erst den root key. nachdem der ssh login selbst damit ja auch geht, kommt ssh gar nicht mehr dazu den anderen key zu probieren.

ssh -i ~/.ssh/mein_key git@git scheint ssh auch nicht zu interessieren. es wird trotzdem erst der andere key probiert, zu dem der ssh-agent schon das Passwort kennt.

es hat vermutlich auch irgendwas mit den Dateinamen und ihrer Reihenfolge im alphabet zu tun aber das konnte ich noch nicht genau testen.

Fakt ist aber: es liegt am OS X ssh-agent oder am Zusammenspiel mit ssh. wen ich den ssh-agent kille löst sich das problem. unter linux verhält sich er sich richtig.

ich habe auch schon nen Bugreport bei apple auf gemacht. dem problem hat sich inzwischen sogar einer angenommen. es hat aber ne ganze weile gedauert, und ich bin mir nicht sicher ob das problem inzwischen tatsächlich verstanden wurde. seit 31. Oktober keine Antwort.

(warum sortiert bugreport.apple.com eigentlich die Kommentare nicht chronologisch?)