Kann ssh-add global hinzugefügt werden
Kann ich tunssh-add gegen dasidentityFile die bleiben für immer, aktuell überwiegen sie nur für die aktuell aktivenSSH-Sitzung (d. h. identitätsdatei, die mit ssh-add hinzugefügt wurde, geht verloren, wenn eine neue ssh-Sitzung mit dem Server durchgeführt wird. Führen Sie dazu ssh-add -L aus.)
Das Problem ist, dass unser Amazon-Server verschiedene Projekte mit Repos in Github hat.
Jetzt hat jeder der ReposZugriffsrecht basierend auf den Benutzern sagenBenutzer A hat nur Zugriffsrechte für Projekt A undB hat ein Zugriffsrecht auf Projekt B nur
Mit diesem Zugriffsrecht (in github) kann nun jeder Benutzer Git-Operationen (wie Git-Fetch, Git-Push usw.) nur noch dort ausführenentsprechendes Projekt (was ist was wir wollen)
Jetzt möchte ich nur noch, wenn ein Benutzer eine Git-Operation für das jeweilige gewünschte Projekt ausführtSSH-Agent um alle SSH-Schlüssel in Konten zu übernehmen und nach dem zu suchen, der zu diesem bestimmten Benutzer passt
Hinweis
dass jedem ssh-schlüssel ein satz (ein einzigartiges geheimnis, das jedem benutzer dort bekannt ist) zugeordnet ist, der bei der durchführung der git-funktion zur eingabe aufgefordert wird.
Um dies zu erreichen, machen wir
ssh-add /root/.ssh/A
oder
ssh-add /root/.ssh/B
Aber wie schon erwähnt bleibt dies nur für dieaktive SSH-Sitzung ,Ausfahrt oder mach einNeu SSH-Sitzung mit dem Server die SSH-Add-Info isthat verloren. kann durch Laufen gefunden werdenssh-add -L
Ich habe auch versucht, IdentityFile in .ssh / config zu definierenFrage
etwas wie das
Host github.com
Hostname github.com
User git
IdentityFile /root/.ssh/A
Host github.com
Hostname github.com
User git
IdentityFile /root/.ssh/B
Dies funktioniert nur für einen Benutzer (manchmal funktioniert es für 'A' und manchmal nicht, das gleiche gilt auch für 'B')
Kann diese Trennung erreicht werden oder klinge ich ein bisschen zu ehrgeizig?
Vielen Dank