Ich habe einen automatischen Gebäudetechnikdienst, der von einem privaten Git-Repository heruntergeladen wird. Das Problem ist, dass beim Versuch, das Repository zu klonen, das Kennwort angegeben werden muss, da es nicht gespeichert wird. Da es keine menschliche Interaktion gibt, wartet es für immer auf das Passwort. Wie kann ich erzwingen, dass er sich an id_rsa.pub erinnert?
125
eval $(ssh-agent)
stattdessen schreiben .ssh-add ~/.ssh/myfile_rsa
copy > ~/.bashrc
in git bash, um die bashrc-Datei in Windows zu erstellen, ignorieren Sie den FehlerIn dieser Antwort wird erläutert, wie der GitHub-Benutzername und das Kennwort dauerhaft gespeichert werden und nicht die Passphrase für den SSH-Schlüssel.
Führen Sie unter Windows einfach aus
Dies bedeutet, dass Sie beim nächsten Drücken wie gewohnt Ihren Benutzernamen und Ihr Kennwort eingeben, diese jedoch in den Windows-Anmeldeinformationen gespeichert werden. Danach müssen Sie sie nicht mehr eingeben.
Drücken Sie wie in Push auf GitHub, ohne jedes Mal Benutzername und Passwort einzugeben (Git Bash unter Windows) .
quelle
git
ändert sich das Verhalten gemäß der festgelegten Konfigurationsanweisung.Ich möchte meine SSH-Passphrase beim Öffnen neuer Terminals nicht eingeben müssen. Leider erfordert die Lösung von starmonkey, dass das Passwort für jede Sitzung eingegeben wird. Stattdessen habe ich Folgendes in meiner
.bash_profile
Datei:Dies wird sich auch an meine Passphrase für neue Terminalsitzungen erinnern. Ich muss es nur einmal eingeben, wenn ich mein erstes Terminal nach dem Booten öffne.
Ich würde gerne gutschreiben, woher ich das habe. Es ist eine Modifikation der Arbeit eines anderen, aber ich kann mich nicht erinnern, woher sie kam. Danke anonymer Autor!
Update 2019-07-01: Ich denke nicht, dass dies alles notwendig ist. Ich arbeite jetzt konsequent daran, indem ich sicherstelle, dass in meiner
.bash_profile
Datei der ssh-Agent ausgeführt wird:Dann habe ich eine
ssh
Konfigurationsdatei wie folgt eingerichtet:quelle
Wenn ich die Frage richtig verstehe, verwenden Sie bereits einen autorisierten SSH-Schlüssel im Build-Service, möchten aber vermeiden, dass Sie die Passphrase für jeden Klon eingeben müssen?
Ich kann mir zwei Möglichkeiten vorstellen, dies zu tun:
Wenn Ihr Build-Service interaktiv gestartet wird: Beginnen Sie
ssh-agent
mit einem ausreichend langen Timeout (-t
Option), bevor Sie den Build-Service starten . Verwenden Sie dannssh-add
(msysGit sollte diese haben), um alle privaten Schlüssel hinzuzufügen, die Sie benötigen, bevor Sie Ihren Build-Service starten. Sie müssten immer noch alle Passphrasen eingeben, jedoch nur einmal pro Dienststart.Wenn Sie vermeiden möchten, dass die Passphrasen überhaupt eingegeben werden müssen, können Sie die Passphrasen jederzeit aus den SSH-Schlüsseln entfernen, wie unter /server/50775/how-do-i-change-my- beschrieben. Private-Key-Passphrase , indem eine leere neue Passphrase festgelegt wird. Dies sollte die Passwortabfrage vollständig beseitigen, ist jedoch noch weniger sicher als die vorherige Option.
quelle
Beim Versuch, meinen Code zu pushen, wurde der folgende Fehler angezeigt:
Nach einigen Stunden Recherche stellte ich fest, dass ich den folgenden Befehl verwenden muss:
Nachdem ich den obigen Befehl ausgeführt hatte, wurde ich aufgefordert, meinen GitHub-Benutzernamen und mein Passwort einzugeben. Nachdem ich die richtigen Anmeldeinformationen angegeben habe, kann ich meinen Code weitergeben.
quelle
Die richtige Lösung ist:
Führen Sie das Windows-Standardterminal - cmd aus und rufen Sie das Verzeichnis Ihres Masterprofils ab
Führen Sie Git Bash im obigen Verzeichnis aus und erstellen Sie die
.bashrc
Datei mit dem BefehlÖffnen Sie die
.bashrc
Datei mit Ihrem bevorzugten Texteditor und fügen Sie Code aus der GitHub-Hilfe in diese Datei ein:Starten Sie Git Bash neu und Sie werden nach Ihrem Passwort gefragt (nur beim ersten Mal) und fertig. Kein Passwort mehr störend.
quelle
Sie müssen die
authorized_keys
Datei unter dem.ssh
Ordner des Benutzers erstellen, unter dem Sie eine Verbindung zum Repository-Server herstellen möchten. Zum Beispiel, vorausgesetzt , Sie verwenden Benutzernamenbuildservice
aufrepo.server
Sie ausführen können:Dann müssen Sie folgende Dinge überprüfen:
Der entsprechende
id_rsa
private Schlüssel wird in dargestellt[email protected]:~/.shh/id_rsa
.Dieser Fingerabdruck von repo.server wird in der
[email protected]:~/.ssh/known_hosts
Datei gespeichert . In der Regel erfolgt dies nach dem ersten Versuchssh
, eine Verbindung zum herzustellenrepo.server
.quelle
cat id_rsa.pub > .ssh/authorized_keys
wird alle vorhandenen autorisierten Schlüssel überschrieben. Verwenden Sie,>>
um hinzuzufügen, anstatt zu überschreiben.