Einrichten jenkins auf centos: Probleme mit ssh-keys und git
Ging durch eine Menge von Fragen, aber es scheint nichts zu werden, die Lösung meines Problem. Oder, um genauer zu sein ich bin nicht sicher, ob ich es bin, macht die ganze Sache richtig.
Also hier ist es:
Installiert haben, centos 6.3 OS.
Dann folgte ich der folgenden Anleitung zu installieren jenkins:
https://wiki.jenkins-ci.org/display/JENKINS/Installing+Jenkins+auf+RedHat+Distributionen
Jenkins, funktioniert einwandfrei. Jetzt versuche ich, ein einfaches build-job, die braucht, um zu clone a git repository. (Ich habe installiert, git)
In der repository-URL, die ich geben Sie den folgenden:
git@gitserver:myrepo.git
Natürlich bekomme ich eine Fehlermeldung: stderr: Host key verification failed.
ok, ich brauche zum generieren von ssh-Schlüsseln und alles wird gut.
Also ich mache Folgendes:
su - jenkins
aber leider ist es nicht wechseln jenkins-Benutzer.
cat /etc/passwd
zeigt Folgendes:
jenkins:x:496:492:Jenkins Continuous Build Server:/var/lib/jenkins:/bin/false
so scheint, dass es nicht mit einem üblichen home-Verzeichnis.
Die Frage ist, wie kann ich das erzeugen der Schlüssel für jenkins oder wenn die oben genannten Schritte, wo nicht der richtige Weg, es zu tun, wie kann ich es beheben?
Vielen Dank!
Update:
Ich generierte Schlüssel (als Benutzer root) und platziert Sie in jenkins home und Tat genau das, und kopiert den öffentlichen Schlüssel zum git-server. Immer noch nicht helfen.
Wenn ich mir die log des build-it sagt:
Started by user anonymous
Building in workspace /var/lib/jenkins/jobs/myrepo/workspace
dieser Benutzer anonymous ist diese einem anderen Benutzer erstellt von jenkins, oder ist es immer noch jenkins, der führt die Befehle?
- Ich bin immer gleiche problem :(.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich gehe davon aus, dass Sie root-Zugriff haben, wenn Sie waren in der Lage zu installieren die Jenkins U /MIN. Sie waren auf der su-ing auf der jenkins user während Sie als root angemeldet ? Wenn nicht, sollten Sie Sie oder verwenden Sie
wenn Ihr angemeldete Benutzer sudo-Zugriff.
Führen
generieren Sie ein RSA-Schlüsselpaar für den jenkins-Benutzer, und Sie können laden Sie den öffentlichen Schlüssel, um Ihre git-server. Der key wird generiert /var/lib/jenkins/.ssh.id_ra.pub wenn Sie die Standardeinstellungen übernehmen.
/etc/passwd
Datei einen Eintrag wiejenkins:x:999:1001::/var/lib/jenkins:/sbin/nologin
und ändern Sie die/sbin/nologin
mit/bin/bash
vorübergehend zu wechseln, um Benutzer jenkins.sudo -u jenkins ssh-keygen
wenn der jenkins Benutzer keine login-shell, als in der Centos RPM-setup.1 Benutzer ändern jenkins login-Einstellung
vi /etc/passwd
update /bin/false auf /bin/bash
2 su - jenkins
jekins Benutzer zu Hause wäre /var/lib/jenkins
3 ssh-keygen
Katze .ssh/id_rsa.pub
kopieren Sie diesen Schlüssel auf bitbucket
4 ssh [email protected]
dies ist die bitbucket ssh-Schlüssel in .ssh/known_hosts
Nun sollten Sie in der Lage sein, um Zugriff
Denke ich das .ssh sollte das Verzeichnis live im Verzeichnis /var/lib/jenkins.
Funktioniert bei mir
Ich hatte Probleme einen Wechsel zu den jenkins-Benutzer. Ich brauchte tatsächlich erstellen die Benutzer ordnungsgemäß in das system so konnte ich den log-in zu es. Ich lief diesen Befehl, um mir zu helfen, erstellen der jenkins user im system:
1) Zunächst jenkins als Reale Nutzer durch editieren der Datei /etc/passwd
Ändern
2) Login jenkins user, Nun Jenkins home-Verzeichnis /var/lib/jenkins
3)das Generieren von ssh-keys wieder ( Schlüssel wird erstellt in /var/lib/jenkins/.ssh)
4) id_rsa kopieren.pub-Schlüssel, und fügen Sie in Ihr git-authorized_keys-Datei
5) immer Noch, wenn es nicht funktioniert, wahrscheinlich hast du die Berechtigungen überprüfen Sie Ihre .ssh-Verzeichnis und die Inhalte
jenkins ist ein service-Konto, spielt es keine Schale, die durch design. Es ist allgemein anerkannt, dass die service-Konten sollten nicht in der Lage sein, sich interaktiv anzumelden.
Ich nicht diese eine Antwort zunächst, wie es ein Duplikat von Frage, die wurde verschoben, um die server Schuld. Sollte ich beantwortet haben, eher als verknüpfte, um die Antwort in einem Kommentar.
wenn aus irgendeinem Grund Sie sich anmelden möchten, so jenkins, können Sie dies mit: sudo su -s /bin/bash jenkins
Um Anmeldung als "jenkins" Benutzer, vielleicht könnten Sie versuchen, diese:
Und versuchen invoke:
Hoffe, es hilft.
Was ich getan habe: sudo -u jenkins ssh-keygen. Es funktioniert so weit