Issues when interacting with azure devops repos
Dieses Issue hat noch niemand übernommen.
Bewertung
- Schwierigkeit
- 4/5
- Geschätzter Aufwand
- 3-5 Tage
- Anfängerfreundlichkeit
- 30/100
- Issue-Typ
- Bug
- Klarheit
- Muss geklärt werden
- Aktivitätsstatus
- Veraltet
- Tech-Stack
- git, python
- Bereich
- authentication, networking
Rechercherichtung
Beginne mit dem Python-Reproducer unter Verwendung von pygit2.Keypair, RemoteCallbacks und clone_repository und vergleiche dann dessen SSH-Aushandlung mit dem erfolgreichen manuellen git clone unter Verwendung desselben Schlüssels. Verfolge, wo der SSH-Algorithmus ausgewählt wird, und reproduziere den Fehler von Azure DevOps. Als erledigt gilt die Aufgabe, wenn das Klonen des Repositorys mit rsa-sha2-512 ohne den SSH-RSA-Fehler erfolgreich ist.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
Hello,
We are using pygit2 (1.15.0) against repositories hosted on azure devops, and have started seeing issues lately as Microsoft are phasing out ssh-rsa keys: https://devblogs.microsoft.com/devops/ssh-rsa-deprecation
The error message I get when I for example try to clone a repository is this:
_pygit2.GitError: remote: Command git-upload-pack: You’re using ssh-rsa that is about to be deprecated and your request has been blocked intentionally. Any SSH session using SSH-RSA is subject to brown out (failure during random time periods). Please use rsa-sha2-256 or rsa-sha2-512 instead. For more details see https://aka.ms/ado-ssh-rsa-deprecation.
remote: ERROR_SSH_UNSUPPORTED_CIPHER (7)
I have created a new ssh-key according to the specs that Microsoft advice (ssh-keygen -t rsa-sha2-512) and use this key when trying to clone. If I do a manual git clone using the same key, it works without any errors. I have tried to dig into the pygit2 code in order to figure out what is going on but I am stuck.
Any ideas what could be causing this?
Here is the tiny python program that I use for testing:
import pygit2
...
keypair = pygit2.Keypair(username, public_key, private_key, passphrase)
callbacks = pygit2.RemoteCallbacks(credentials=keypair)
pygit2.clone_repository(repo_url, "test", callbacks=callbacks)
- Vorherrschende Sprache
- Python
- Sterne
- 1.7k
- Forks
- 408
- Ø Merge
- 2 T. 57 Min.
- Gemergte PRs (30 T.)
- 7
Entwicklungsumgebung
- Kein Dockerfile und keine Docker-Compose-Datei
- Keine Pull-Request-Vorlage
- Beitragsleitfaden lesen
Erste Schritte
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus libgit2/pygit2
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 72/100
-
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 88/100
-
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 45/100
-
Schwierigkeit 3/5 1-2 Tage Anfängerfreundlichkeit 48/100
-
merge_bases not wrappedOffen
Schwierigkeit 3/5 1-2 Tage Anfängerfreundlichkeit 55/100
Ähnliche Issues
-
adr
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 72/100
kristofdegrave/homeassistant-smart-charging#1607 ·
Maintainer antworten meist innerhalb von 1 Tag
-
namespace operations
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 64/100
EclipseFdn/open-vsx.org#13665 ·
Maintainer antworten meist innerhalb von 1 Tag
-
doc good first issue help wanted
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 68/100
collective/icalendar#1865 · 2 Kommentare ·
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 82/100
canonical/opentelemetry-collector-operator#409 ·
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 85/100
mozilla/addons-release-tests#1243 ·
Maintainer antworten meist innerhalb von 1 Tag