Ich habe viele Fragen gestellt, aber nichts scheint mein Problem zu lösen. Genauer gesagt bin ich mir nicht sicher, ob ich das Ganze richtig mache. Also hier ist es:
Installieren Sie Centos 6.3 OS. Dann folgte ich dem folgenden Leitfaden, um jenkins zu installieren:
Jenkins funktioniert gut. Jetzt versuche ich einen einfachen Build-Job zu erstellen, der ein Git-Repository klonen muss. (Ich habe Git-Plugin installiert)
In Repository URL gebe ich Folgendes ein: git @ gitserver: myrepo.git Natürlich bekomme ich einen Fehler: stderr: Überprüfung des Host-Schlüssels fehlgeschlagen.
ok, ich muss ssh-Schlüssel generieren und alles wird gut. Also mache ich folgendes:
%Vor%aber leider wechselt es nicht zu jenkins user.
Katze / etc / passwd
zeigt Folgendes:
%Vor%scheint also, dass es kein gewöhnliches Home-Verzeichnis hat.
Die Frage ist, wie ich Schlüssel für jenkins erzeuge oder ob die obigen Schritte nicht der richtige Weg sind, wie ich es beheben kann?
Vielen Dank!
Aktualisieren : Ich generierte Schlüssel (als root Benutzer) und platzierte sie in jenkins home und tat genau und kopierte den öffentlichen Schlüssel auf den git Server. Hat immer noch nicht geholfen.
Wenn ich das Protokoll des Builds anschaue, heißt es:
%Vor%Dieser Benutzer anonym ist dieser andere Benutzer, der von jenkins erstellt wurde, oder sind es noch jenkins, die die Befehle ausführen?
Ich gehe davon aus, dass Sie Root-Zugriff haben, wenn Sie Jenkins RPM installieren konnten. Haben Sie sich beim Login als root an den Benutzer jenkins gewandt? Wenn nicht, sollten Sie dies tun oder
verwenden %Vor%wenn Ihr eingeloggter Benutzer sudo Zugriff hat.
Dann führe
aus %Vor%zum Generieren eines RSA-Schlüsselpaars für den Benutzer jenkins, und Sie können den öffentlichen Schlüssel auf Ihren Git-Server hochladen. Der Schlüssel wird als /var/lib/jenkins/.ssh.id_ra.pub generiert, wenn Sie die Standardwerte übernehmen.
1 Benutzer jenkins Login-Einstellung ändern
vi / etc / passwd
update / bin / false nach / bin / bash
2 su - jenkins
jekins user home wäre / var / lib / jenkins
3 ssh-keygen
Katze .ssh / id_rsa.pub
kopiere diesen Schlüssel in bitbucket
4 ssh [email protected]
Dies wird den bitbucket ssh Schlüssel in .ssh / known_hosts
setzenJetzt sollten Sie auf
zugreifen können1) Machen Sie zuerst jenkins als echten Benutzer, indem Sie die Datei / etc / passwd bearbeiten Ändern
/ bin / false bis / bin / bash
2) Melden Sie sich bei jenkins user an. Jetzt ist das Jenkins Home-Verzeichnis / var / lib / jenkins
%Vor%3) Erzeuge ssh-Schlüssel erneut (Schlüssel werden in /var/lib/jenkins/.ssh erstellt)
%Vor%4) Kopieren Sie den Schlüssel id_rsa..pub und fügen Sie ihn in die Datei authorized_keys Ihres Git ein
5) Wenn es nicht funktioniert, müssen Sie wahrscheinlich die Berechtigungen Ihres .ssh Verzeichnisses und Inhalts überprüfen
%Vor%jenkins ist ein Dienstkonto, es hat keine Shell-Design. Es wird allgemein akzeptiert, dass Dienstkonten sich nicht interaktiv anmelden können.
Ich habe diese Frage zunächst nicht beantwortet, da es sich um ein Duplikat einer Frage handelt, die auf den Serverfehler verschoben wurde. Ich hätte eher antworten sollen als mit der Antwort in einem Kommentar verknüpft.
Wenn Sie sich aus irgendeinem Grund als jenkins anmelden möchten, können Sie dies tun mit: sudo su -s / bin / bash jenkins
Um sich als "jenkins" -Benutzer anzumelden, könnten Sie dies vielleicht versuchen:
%Vor%Und versuchen Sie Folgendes aufzurufen:
%Vor%Ich hoffe, es hilft.