【问题标题】:SSH from Jenkins without using Plugin来自 Jenkins 的 SSH,不使用插件
【发布时间】:2018-11-07 16:30:50
【问题描述】:

我想通过从我的 Jenkins 服务器执行 SSH 在远程计算机上运行一些命令。但是,我不能使用 SSH 插件,因为它是企业 Jenkins(多租户)。

目前,我正在使用 Jenkins 的“我的凭据”部分使用 SSH 密钥为远程计算机创建一个用户,并通过选中“SSHAgent”复选框在 Jenkins 构建环境中添加相同的凭据。

我使用命令'ssh user_name@ip',但似乎卡在了那一步。如果有人帮助我解决这个问题,那将是一个很大的帮助。

【问题讨论】:

    标签: jenkins ssh continuous-integration devops continuous-deployment


    【解决方案1】:

    转到 Jenkins → 管理 Jenkins → 配置系统并检查 SSH 远程主机并提供​​主机名、编号并添加远程主机的用户名和密码

    转到您的詹金斯工作 → 配置 → 构建 →

    如果 SSH 远程主机在管理 jenkins → 配置系统中不可用 → 在jenkins中安装插件https://wiki.jenkins.io/display/JENKINS/SSH+plugin

    【讨论】:

    • 我无法将 SSHPlugin 添加为企业设置。
    • 试试这个 sshpass -p '>' ssh -o StrictHostKeyChecking=no >@> 'command'
    • 它说找不到 sshpass。看起来我的 Jenkins 服务器上没有安装 CL 实用程序。
    • 在jenkins server 中创建ssh key ssh-keygen -t rsa 在jenkins server ssh-copy-id -i ~/.ssh/id_rsa.pub 中运行以下命令 @它会要求输入密码 输入密码 ssh user_name@ip "ls"
    • 由于是公司设置,我无法访问运行 Jenkins 的机器。
    【解决方案2】:

    请使用以下命令启用从 jenkins 到远程主机/机器的 ssh。

    先启用ssh密码less。

    请在您的 jenkins 服务器/linux 框中生成 rsa 密钥,并将此公共 IP 添加到您的远程主机下的 .ssh 目录下的授权密钥文件(如果 .ssh 目录或授权密钥文件不存在,请创建)更改此权限后文件到 640 ( chmod 640 authorized_key)。

    它将使您能够在没有密码的情况下从 jenkins 框 ssh 到远程主机。在此之后,您可以从 jenkins 执行 shell 命令(添加构建步骤/执行 shell)并输入以下命令

    ssh 用户名@IP_address_of_remote_host

    根据要求,您可以在 ssh 后用引号“”添加更多命令,并用分号分隔所有命令

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-02-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多