我正在尝试使用 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/