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

Antworten auf die Frage(1)

Ihre Antwort auf die Frage