361 Stimmen

Push zu GitHub ohne Passwort mit ssh-key

Ich habe ein SSH-Schlüsselpaar ohne Passwort erzeugt und den öffentlichen Schlüssel zu GitHub hinzugefügt.

Verbindung mit

user@dev:/var/www/project# ssh -T git@github.com
Hi User! You've successfully authenticated, but GitHub does not provide shell access.

war erfolgreich, und wenn ich den Schlüssel umbenenne, schlägt es fehl.

Aber wenn ich meine Änderungen pushen will, werde ich immer noch nach der Kombination aus Benutzernamen und Passwort gefragt.

Gibt es eine Möglichkeit, ohne Passwort zu pushen?

5voto

marziyeh seifi Punkte 69

Für die Verwendung von SSH müssen Sie $ git remote add origin git@github.com:USERNAME/REPOSITORY.git anstelle von git remote add origin remote_repository_URL . Sie können es überprüfen mit $ git remote -v Wenn Sie 2 Zeilen im untenstehenden Format sehen, funktioniert es richtig:

origin git@github.com:username/repo-name.git (fetch)
origin git@github.com:username/repo-name.git (push)

4voto

Wie die anderen Benutzer bereits erwähnt haben, müssen Sie es von HTTPS auf SSH umstellen. Ich sehe keine Antwort mit einer End-to-End-Lösung. Nach Einrichten der ssh-Schlüssel tun (auf Ihrem lokalen Rechner):

$ git remote set-url origin git@github.com:username/your_repo.git  # Convert HTTPS -> SSH
$ ssh-add ~/.ssh/id_rsa_github    # add private github ssh key ssh-agent (assuming you have it already running)
$ git push

2voto

Anthony Piñero Punkte 596

Du hast alles richtig gemacht, aber Git fragt immer noch nach dem Passwort, das hat bei mir funktioniert, führe den nächsten Befehl im Pfad deines aktuellen Projekts aus:

~ ssh-add -K ~/.ssh/id_rsaYourIdRsa

Fügen Sie Ihren privaten SSH-Schlüssel zum ssh-agent hinzu und speichern Sie Ihre Passphrase im Schlüsselbund. Wenn Sie Ihren Schlüssel mit einem anderen Namen erstellt haben oder wenn Sie einen vorhandenen Schlüssel mit einem anderen Namen hinzufügen, ersetzen Sie id_rsaIhrIdRsa in dem Befehl durch den Namen Ihres privat Schlüsseldatei.

-5voto

Jitendra Punkte 1148

Über die Befehlszeile:

Eingabe ls -al ~/.ssh um zu sehen, ob bereits SSH-Schlüssel vorhanden sind.

Im Terminal wird angezeigt: Kein Verzeichnis vorhanden

Erzeugen Sie dann einen neuen SSH-Schlüssel

Schritt 1.

ssh-keygen -t rsa -b 4096 -C "your_email@example.com"

Schritt 2.

Enter a file in which to save the key (/Users/you/.ssh/id_rsa): <here is file name and enter the key>

Schritt 3.

Enter passphrase (empty for no passphrase): [Type a password]

Enter same passphrase again: [Type password again]

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X