2016-07-12 15 views
0

Bevor Sie dies sofort als mögliches Duplikat markieren Sie den gesamten TextSSH-Zugriff auf Github: shell in Ordnung, Jenkins nicht

TLDR lesen: Ich versuche, eine jenkins einzurichten einen privat zu lesen Github-Repository. Wenn ich jenkins Anmeldeinformationen mit username/password verwende funktioniert es, wenn ich jenkins Anmeldeinformationen mit einem private key es nicht verwende und ich bekomme einen "ungültigen Benutzernamen/Passwort" Fehler.

Ausführliche Beschreibung:

  1. Ich habe ein jenkins 2.5 installiert auf Apache-Tomcat 8, jenkins tomcat8 unter dem Benutzer ausgeführt wird. Credential Plugin (2.1.4), Git Client Plugin (1.19.6), Gitplugin (2.5.2), Github API Plugin (1.76), GitHub Plugin (1.19.2), SSH Credential Plugin (1.12) sind ebenfalls installiert. Git ist in Version 2.1.4 läuft
  2. ich ein SSH-Schlüsselpaar mit leerem Passwort erstellt habe für den Benutzer tomcat8 [angemeldet als tomcat8 über sudo -su tomcat8]
  3. Ich habe den öffentlichen Schlüssel zum privaten Github hinzugefügt
  4. Repository
  5. ich habe ein jenkins Anmeldeinformationen erstellt ssh username with private key mit globaler Reichweite, Benutzername tomcat8, leeres Passwort und die vollen privaten Schlüssel -----BEGIN RSA PRIVATE KEY-----------END RSA PRIVATE KEY-----
  6. I'v ein jenkins creditals „Benutzername/Passwort“ mit der Ebene Benutzername erstellt und Passwort des GitHub Accounts.
  7. Wenn ich mich in den Benutzer einloggen tomcat8 und überprüfen Sie die Github-Authentifizierung über Shell mit dem Befehl ssh -T [email protected] bekomme ich die richtige Ausgabe. Das bedeutet, dass meine Authentifizierung mit dem Schlüssel gegen Github arbeitet

    tomcat8 @ ci (rechts?): ~/.ssh $ ssh -T [email protected] Hallo Github-Benutzername! Sie haben sich erfolgreich authentifiziert, GitHub bietet jedoch keinen Shell-Zugriff.

If ich jetzt meine jenkins Job-Setup: repository URL: https://github.com/repoownername/reponame.git und verwenden Sie den Benutzernamen/Passwort-Berechtigungsnachweis der Zugang in Ordnung ist. Aber wenn ich die ssh-Anmeldeinformationen die Authentifizierungs failes mit

Fehler beim Repository verbinden: Befehl "git -c core.askpass = true ls-remote -h https://github.com/repoownername/reponame.git HEAD" zurückgegebenen Statuscode 128: stdout: stderr: remote: Ungültiger Benutzername oder ungültiges Passwort. fatal: Authentifizierung fehlgeschlagen für 'https://github.com/repoownername/reponame.git'

Weitere Informationen Wenn ich einen Build mit dem Benutzernamen/Passwort Credentials

laufen

git Config remote.origin1.url https://github.com/repoownername/reponame.git # timeout = 10 stromauf Fetching Änderungen von mit .gitcredentials zum Festlegen der Anmeldeinformationen git config --local credential.username github-username # timeout = 10 git config --local credential.helper speichern --file =/tmp/tomcat8-tomca t8-tmp/git1018128562913260002.Anmeldedaten # timeout = 10 git -c core.askpass = true fetch --tags --progress https://github.com/repoownername/reponame.git + refs/heads/: refs/remotes/origin1/ git konfig --local --trenove section credential # timeout = 10

Wenn ich die SSH-Anmeldeinformationen verwende, bekomme ich den oben genannten Fehler.

Also meine Frage ist jetzt: Wie kann ich meine SSH-Anmeldeinformationen erfolgreich anstelle von Benutzername/Passwort

Ich habe einige der Tutorials verwenden:

Antwort

2

Oh Mann, ich bin eine Art dumm.

Mein Fehler war, dass ich die falsche URL meines Repository verwendet! Ich hatte verwendet:

https://github.com/repoownername/reponame.git was funktioniert, wenn Sie die username/password Anmeldeinformationen verwenden.

Aber für SSH-Acess hatte ich

[email protected]:repoownername/reponame.git

verwenden
Verwandte Themen