【问题标题】:Pass password from jenkins to shell script which is located in another linux server not in jenkins server将密码从 jenkins 传递到位于另一个 linux 服务器而不是 jenkins 服务器中的 shell 脚本
【发布时间】:2020-07-14 14:02:38
【问题描述】:

我正在使用 SSHPASS 命令在 shell 脚本中将文件从 Linux 复制到 Windows 服务器。问题是密码暴露了,任何人都可以使用此凭据并删除一些文件。

为了避免这个问题,我们可以将密码从 Jenkins 传递到位于 Linux 服务器中的 shell 脚本。如果是这样,请告诉我如何配置它。

【问题讨论】:

    标签: shell jenkins


    【解决方案1】:

    如果您唯一的问题是避免在控制台输出中暴露密码,您可以将密码写入文件中并通过 scp 将其发送到目标服务器

    之后,您可以使用 cat 命令获取密码,例如

    ENV_PASSWORD=$(cat /path/your_password_file)
    

    您的密码将可以从 env var 中使用

    【讨论】:

      【解决方案2】:

      如果您可以将 Windows 配置为允许通过密钥而不是密码登录,则可以使用 SSH Agent plugin

      1. 通过jenkins插件管理界面安装插件
      2. 在您的 Jenkins 中创建一个类型为“带有私钥的 SSH 用户名”的新凭据
      3. 更改您的项目构建配置以启动提供您刚刚创建的凭据的 SSH 代理
      4. 修改您的脚本以在不提供任何密码的情况下执行复制

      【讨论】:

        猜你喜欢
        • 2020-09-22
        • 2016-12-10
        • 2016-04-18
        • 2016-03-26
        • 1970-01-01
        • 2016-11-27
        • 2021-11-27
        • 1970-01-01
        • 2017-10-25
        相关资源
        最近更新 更多