Zum Inhalt

Codeberg lehnt SSH-Anmeldung ab - Eine Fehlersuche

Codeberg lehnt den Übertrag von Commits per SSH ab. Mein Schlüssel liegt dabei auf einem YubiKey.

Mein Setup

Für das Übertragen auf meine Repos bei Codeberg verwende ich einen YubiKey auf dem ich meinen GPG/SSH-Schlüssel abgelegt habe. Im Codeberg-Profil ist mein Schlüssel hinterlegt und der Übertrag hat bis jetzt auch ohne Probleme funktioniert.

Die Einrichtung meines Systems habe ich entsprechend meiner Anleitung durchgeführt:

Seit einiger Zeit aber bekomme ich das Problem angezeigt, wenn ich versuche die Commits zu pushen.

git push origin main
Gitea: Unauthorized
fatal: Could not read from remote repository.

Please make sure you have the correct access rights and the repository exists.

Fehleranalyse

Die Analyse des Problems war eigentlich recht schnell erledigt.

Wenn ich versuche auf Codeberg zu pushen kommt keine Abfrage nach der PIN meines YubiKeys mehr. Stattdessen wird die obige Fehlermeldung ausgegeben.

Das Testen meines YubiKey, wie in meiner Anleitung 👉 SSH-Verbindung gesichert! – YubiKey am Mac beschrieben, gibt zwei SSH-Schlüssel zurück.

gpgconf --launch gpg-agent
export SSH_AUTH_SOCK=$HOME/.gnupg/S.gpg-agent.ssh
ssh-add -l

Vor kurzem habe ich einen ganz normalen SSH-Schlüssel (privaten und öffentlichen) erstellt, um für ein anderes Codeberg-Projekt zu verwenden. Nun scheint aber mein System die Schlüsseldateien im Verzeichnis ~/.ssh/ zuerst abzufragen und sich gegenüber Codeberg zu authentifizieren. Das funktioniert aber nicht, da nicht de YubiKey verwendet wird.

Die (temporäre) Lösung

Ich habe kurzum die beiden Schlüsseldateien aus dem Verzeichnis ~/.ssh/ entfernt. Eine andere Lösung habe ich noch nicht gefunden. Nun funktioniert der Übertrag wieder tadellos.

Hat jemand eine Idee, wie das Problem gelöst werden kann?

Die Lösung

Die folgende Fehlermeldung "Warning: Identity file not accessible: No such file or directory" bezieht sich ebenfalls auf das oben geschilderte Problem.

Die Fingerprints der SSH-Schlüssel werden in der Datei

./gnupg/sshcontrol

vorgehalten.

Dort können die Fingerprints "aus kommentiert" werden.

In der sshcontrol steht genau was man machen soll, um den Key zu deaktivieren.

# List of allowed ssh keys.  Only keys present in this file are used
# in the SSH protocol.  The ssh-add tool may add new entries to this
# file to enable them; you may also add them manually.  Comment
# lines, like this one, as well as empty lines are ignored.  Lines do
# have a certain length limit but this is not serious limitation as
# the format of the entries is fixed and checked by gpg-agent. A
# non-comment line starts with optional white spaces, followed by the
# keygrip of the key given as 40 hex digits, optionally followed by a
# caching TTL in seconds, and another optional field for arbitrary
# flags.   Prepend the keygrip with an '!' mark to disable it.

Also einfach ein ! am Anfang der Zeile setzen und fertig.

# Ed2222 key added on: 2024-06-20 10:39:06
# Fingerprints:  MD5:df:b3:22:86:e0:72:2d:33:ff:e0:2c:a7:af:87:64:88
#                SHA256:sssssseeeeeerrrrrrtttttt
!sssssseeeeeerrrrrrtttttt 0

Die noch vorhandenen Identitäten auf dem System lassen sich mit

ssh-add -l

auflisten. Der auskommentierte Eintrag sollte nicht mehr aufgeführt werden.

Gib mir gerne einen Kaffee ☕ aus ❗️

Wenn dir meine Beiträge gefallen und geholfen haben, dann kannst du mir gerne einen Kaffee ☕️ ausgeben.

Donation via PayPalDonation via LiberaPay

Donation via Bitcoin
Bitcoin Address: bc1qfuz93hw2fhdvfuxf6mlxlk8zdadvnktppkzqzj

Source

Photo by Alex Pudov on Unsplash