自动化 Rundeck 密码 MD5 生成

Automating Rundeck password MD5 generation

快速提问。我正在使用通过 Centos7/RHEL7.

上的 yum repo 安装的 rundeck 3.1.2-20190927

我正在尝试使用命令行生成 MD5 密码,但它看起来只能通过使用 WAR 文件的交互式提示生成。

即: java -jar rundeck-3.1.2-20190927.war --encryptpwd Jetty

有什么方法可以将 username/password 提供给它,这样我就可以 grep 出 MD5 哈希,而不必以交互方式执行此操作?文档有点乱,我看到对 jetty-all JAR 的引用能够做到这一点,但该文件不在 bootstrap 目录中,只是 WAR.

您可以使用 expect 作为内联脚本或 "external" 脚本来执行此操作而无需任何交互

    #!/usr/bin/expect
    spawn java -jar rundeckpro-cluster-3.1.2-20190927.war --encryptpwd Jetty
    expect -exact "Username (Optional, but necessary for Crypt encoding):"
    send -- "user\r"
    expect -exact "*Value To Encrypt (The text you want to encrypt):"
    send -- "user\r"
    expect eof