Lassen Sie mich auch meine Erfahrungen teilen,
Ich habe versucht, ein Projekt aus dem Gerrit Repo zu klonen, wo ich meine öffentlichen Schlüssel in den Kontoeinstellungen erhalten habe.
Beim ersten Versuch, eine git clone
Ich habe den folgenden Fehler erhalten:
Unable to negotiate with XX.XX.XX.XX port XXX: no matching key exchange
method found. Their offer: diffie-hellman-group1-sha1
Ich habe herausgefunden, dass ich die Option SSH übergeben muss -oKexAlgorithms=+diffie-hellman-group1-sha1
irgendwie zu git clone
.
Hoffentlich GIT_SSH_COMMAND
Umgebungsvariable erledigte die Aufgabe:
export GIT_SSH_COMMAND="ssh -oKexAlgorithms=+diffie-hellman-group1-sha1"
Aber git clone
hat immer noch nicht funktioniert. Jetzt wirft es die (zum Thema):
Permission denied (publickey).
Ich habe bereits SSH-Schlüssel und wollte sie nicht neu generieren. Ich habe die einfache SSH-Verbindung zum Host überprüft und sie war in Ordnung:
**** Welcome to Gerrit Code Review ****
Hi XXXXX, you have successfully connected over SSH.
Unfortunately, interactive shells are disabled.
To clone a hosted Git repository, use:
git clone ssh://xxxxx@xx.xx.xx:xxx/REPOSITORY_NAME.git
Ich war ein wenig verwirrt. Ich begann erneut und schaltete die Fehlersuche für SSH über -vvv
Option. Und ich sah das Folgende:
debug1: read_passphrase: can't open /dev/tty: No such device or address
Möglicherweise war es ein Overhead für die GIT_SSH_COMMAND
env-Variable - mein Schlüssel war mit einer Passphrase gesichert (und ich habe sie eingegeben, als ich die Anmeldung beim Git Repo-Host überprüft habe).
Also habe ich beschlossen, die Phasphrase loszuwerden. Ein einfacher Befehl half mir dabei:
ssh-keygen -p
Dann habe ich meine Passphrase für die "alte Passphrase" eingegeben und einfach auf ENTER zweimal auf die "neue Passphrase", um sie leer zu lassen, d. h. ohne jegliche Passphrase, und um meine Wahl zu bestätigen.
Danach habe ich das frisch geklonte Repo auf meiner lokalen Festplatte.
14 Stimmen
Haben Sie versucht, den öffentlichen Schlüssel, den Sie mit ssh-keygen erzeugt haben, hochzuladen?
0 Stimmen
Mein Problem war, dass ich versucht habe, von
sudo
- dies ist ein anderer Benutzer mit einem anderen öffentlichen Schlüssel.0 Stimmen
Derselbe Fehler. Ich habe zuvor einen öffentlichen Schlüssel über Github erstellt und dann ein weiteres Schlüsselpaar mit dem
ssh-keygen
Nutzen. Das Löschen des alten öffentlichen Schlüssels in den persönlichen Einstellungen auf Github und das Hinzufügen meines per SSH generierten Schlüssels id_rsa.pub zu den SSH- und GPG-Schlüsseln hat die Probleme mit der Klonberechtigung behoben.0 Stimmen
Wenn Sie die Bash-Screen ausführen und alles auf jeder verfügbaren Website getan haben, ist die Wahrscheinlichkeit groß, dass Sie sich aus der Sitzung, in der Sie die Screen-Sitzung erstellt haben, abgemeldet haben. Eine schnelle Abhilfe besteht darin, die Screen-Sitzung neu zu starten: siehe superuser.com/q/180148
0 Stimmen
Es gibt eine Seite in der Dokumentation, die einige Hinweise gibt - docs.github.com/de/authentication/troubleshooting-ssh/