Erstellen eines SSH-Schlüssels auf Jenkins Master - Centos Yum Install

8

Ich habe Jenkins auf Centos VM installiert , wie ich zu ersetzen Bambus suchen, ich habe alles und läuft durch die Installation von folgenden Anweisungen . Das ging gut, ich wollte dann einen Slave hochfahren, ich erstellte eine zweite VM, erstellte einen Benutzer darauf, erstellte einen SSH-Schlüssel für diesen Benutzer. Ich habe dann einen Slave-Knoten in Jenkins erstellt, aber als ich das Konto in Jenkins für den Slave-Computer erstellt und den privaten SSH-Schlüssel angegeben habe, habe ich einen Fehler erhalten. Das ist richtig, da ich den Master-SSH-Pub-Schlüssel nicht auf den Slave in den ~ / .ssh / autorisierten_Tasten gelegt habe.

Es sieht so aus, als ob die Centos Yum-Installation keine SSH-Schlüssel für den Benutzer erstellt, der Jenkins ausführt. Ich habe mein Google Fu erstellt und nach dem, was ich gelesen habe, brauche ich dies, um das zu tun, was ich tun möchte. Ich habe SU als an der Maschine ausprobiert, aber ohne Glück. Ich würde gerne wissen, wie ich das machen muss, da ich früher SSH-Schlüssel verwenden würde.

Wenn ich das alles sage, habe ich einen Slave dazu gebracht, die SSH-Option mit einem Passwort zu verwenden. Es funktioniert, aber ich möchte das nicht so machen.

Jede Hilfe wäre super!

djo
quelle

Antworten:

4

Ich hatte gerade das gleiche Problem. Was ich getan habe war:

  1. Beim Masterwechsel zum Root-Benutzer: su root
  2. Ausführen: passwd jenkins
  3. Geben Sie ein Passwort für den Jenkins-Benutzer an
  4. Wechseln Sie zum jenkins-Benutzer (und geben Sie das Passwort aus Schritt 3 ein): su jenkins
  5. Lauf ssh-keygen

Das hat das Problem für mich gelöst. Ich konnte nicht sudo passwd jenkins, ich musste zum Root-Benutzer wechseln. Möglicherweise möchten Sie den Remoteserver auch zur Datei know_hosts hinzufügen.

so12345
quelle
Hallo, danke dafür, ich habe es jetzt mit SSH-Schlüsseln zum Laufen gebracht :) Der einzige andere Teil, den ich tun musste, war die passwd-Datei zu aktualisieren, um BASH für die Anmeldung festzulegen. Nachdem ich das getan hatte, ging es mir gut.
djo
30

Ein geeigneterer Weg, um dasselbe zu erreichen, wäre zu laufen:

# sudo -u jenkins ssh-keygen


Dadurch wird hier der Schlüssel für Sie generiert: /var/lib/jenkins/.ssh/id_rsa.pub

Johan Pettersson
quelle
Klappt wunderbar!
Mateusz Chrzaszcz
2
Dies sollte die akzeptierte Antwort sein
Arun Killu
In meinem speziellen Anwendungsfall (gerrit) musste ich ssh in den Server, um den Eintrag unknown_hosts hinzuzufügen.
Memoselyk