So weisen Sie Git an, keinen RSA-Schlüssel, sondern Benutzername + Passwort zu verwenden

So weisen Sie Git an, keinen RSA-Schlüssel, sondern Benutzername + Passwort zu verwenden

Ich glaube, ich habe meine SSH-Konfiguration durcheinandergebracht.

In letzter Zeit kann ich kein lokales Repository mehr klonen. Es scheint, als würde das Git-Repository sowohl den öffentlichen Schlüssel als auch das Passwort akzeptieren, aber anstatt mich eine der beiden Optionen wählen zu lassen, versucht es, eine Verbindung mit einem falschen RSA-Schlüssel herzustellen, was zu der folgenden Meldung führt:

Received disconnect from myRemoteComputer : Too many authentication failures for myUsername
fatal: Could not read from remote repository.

Dasselbe passiert, wenn ich per SSH auf diesen Computer zugreife.

$ssh -v myRemoteComputerIP
debug1: Authentications that can continue: publickey,password
debug1: Next authentication method: publickey
debug1: Offering RSA public key: /home/myUsername/.ssh/id_rsa
debug1: Authentications that can continue: publickey,password
debug1: Offering RSA public key: myUsername@cvg04
Received disconnect from myRemoteComputerIP: Too many authentication failures for myUsername

Da läuft also etwas schief, da in letzter Zeit beide Befehle funktionierten. Ich müsste im Grunde Benutzernamen und Passwort angeben sshund gitverwenden, anstatt zufällig einen falschen „RSA-Schlüssel“ auszuwählen. Weiß jemand, wie man das repariert?

Außerdem habe ich ssh-addvor kurzem einige Befehle ausgeführt, indem ich dem Rat eines Forums gefolgt bin, aber vielleicht ist das ein Teil des Problems …

Antwort1

Überprüfen Sie Ihre ~/.ssh/config. Wenn Sie die Kennwortauthentifizierung verwenden möchten, können Sie sie dort wie folgt einrichten:

Host myRemoteComputerIP
  PubkeyAuthentication no

Es wird nie versucht, bei diesem Host eine Authentifizierung mit öffentlichem Schlüssel durchzuführen.


Was ist, wenn ich mich einmal mit zwei verschiedenen Benutzernamen verbinden muss und dabei einen RSA-Schlüssel und zum anderen eine Benutzernamen-/Passwort-Authentifizierung verwende?

Sie können Aliase in folgenden Feldern verwenden ssh_config:

Host alias1
  Hostname myRemoteComputerIP
  PubkeyAuthentication no
  User user1
Host alias2
  Hostname myRemoteComputerIP
  # PubkeyAuthentication yes # is default
  User user2

ssh alias1und dann mit und verbinden ssh alias2.

Antwort2

Klonen Sie mit https und es wird immer nach einem Passwort gefragt. Beispiel:

git clone https://github.com/my_company/myrepo.git

verwandte Informationen