woodfighter: Groovy auf Jenkins Server: SVN Passwort sicher hinterlegen

Beitrag lesen

Tach,

ich möchte auf meinem Jenkins Server SVN Passwörter "sicher" hinterlegen. Mit sicher meine ich, dass man die nicht unbedingt direkt loopen können sollte.

„loopen“?

SSH ist leider nicht möglich, da das SVN Repositority sowas nicht kriegen soll.

Warum nicht?

<hudson.security.HudsonPrivateSecurityRealm_-Details>
      <passwordHash>#jbcrypt:$2a$10$mVxgiI7qSjhCLiLmQuqXMe5isaymYvacvyzBjp7/qLTblZ/hlL786</passwordHash>
</hudson.security.HudsonPrivateSecurityRealm_-Details>

Ich hoffe das war nicht der echte zu deinem PW gehörende Hash (wenn du dich an übliche PW-Richtlinien hälst, sollte das zwar kein Problem sein, aber…); man sollte nicht darauf vertrauen, dass Hash-Funktionen in alle Ewigkeit ungebrochen bleiben werden.

für Idee 1 müsste ich den entweder Decodieren (was eventuell nicht geht, weil es ein einseitiger Hash sein könnte)

Das eventuell kann ich für diesen Hash ausräumen, das ist bcrypt, im Moment gibt es keine Möglichkeit aus diesem Hash auf den Klartext zu schließen.

oder meinem SVN zu verstehen geben. dass das gehashte Passwort ok ist (falls das geht).

Theoretisch könntest du den Hash selber als PW hinterlegen, aber… (s.u.)

Ich schreibe eine neue Anwendung in der der Nutzer sein SVN Passwort speichert und sichere dieses gehasht auf dem Jenkins Server. Habt ihr eine Idee wie ich das so haschen kann, dass es sich anschließend wieder für das SVN enthashen oder auf andere weise fürs SVN nutzen lässt?

Das geht konzeptioniell nicht, ein (kryptographischer) Hash unterscheidet sich von Verschlüsselung gerade dadurch, dass er eine Einwegfunktion ist (sein sollte).

Hintergrund ist, dass wir einen Jenkinsprozess haben der Sachen ins SVN eincheckt und wir wollen, dass diese Sachen unter den entsprechenden Usernamen eingecheckt werden und nicht per globalen SVN-Jenkinsuser.

Ist http://svnbook.red-bean.com/en/1.7/svn.serverconfig.netmodel.html#svn.serverconfig.netmodel.credcache dafür nicht ausreichend?

Und dann einmal die Bitte um mehr Information, damit man ein sinnvolles Konzept erdenken kann:

  • Läuft der SVN Server auf der selben Maschine wie das Jenkins?
  • Sollen die User sich im SVN ohne das Jenkins auch anmelden können?

mfg
Woodfighter