Jenkins sshagent 执行不工作

标签 jenkins jenkins-plugins scp jenkins-pipeline ssh-agent

我正在尝试使用 sshagent 选项将文件通过 scp/ftp 传输到 windows 和 linux 服务器,但它没有按预期工作,有人可以帮我解决这个问题吗?

凭据应该是什么?我使用了使用 jenkins 创建的加密用户 ID 和密码值。 将 scp 文件发送到 server1 应该执行什么命令?

最佳答案

您不能在 ssh 代理中存储用户 ID/密码组合,只能存储私钥。

在 Jenkins Web 界面中的 Jenkins -> Credentials -> System -> Global credentials 下,您可以添加新的凭据。在全局范围内使用私钥获取 SSH 用户名。您可以使用 ssh-keygen 来制作私钥。然后您的管道可以执行以下操作:

sshagent (credentials: ['58754abf756cd-6057-.....']) {
  sh 'scp file host:dir'
}

请注意,SSH 代理是一个需要安装的插件。

关于Jenkins sshagent 执行不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42139197/

相关文章:

Jenkins 使用 Groovy 读取 Jenkinsfile 中文件的特定行

git - 在 Jenkins 构建失败之前 merge ,但不应该

amazon-web-services - 用于带有 jenkins 构建阶段的 codepipeline 的 AWS Cloudformation 模板

java - mtime.sec 不存在

perl - 以编程方式具有特殊字符的scp

java - 如何在 maven 中设置 java.util.logging 日志级别(用于 Jenkins 插件 (JenkinsRule) 测试)

Jenkins 管道 - try catch 特定阶段和后续条件步骤

git - 设置分支不可 merge

jenkins - 每天在 8 :30 AM except on Friday 安排 Jenkins 作业

linux - 通过 jenkins 构建步骤传递密码