首页 > 解决方案 > 如何在 azure-pipelines 中使用公钥对某些内容进行 scp?

问题描述

我的天蓝色管道包含项目的编译和从中构建 docker 映像。

现在我想将此图像复制到目标机器并在那里运行。

使用 shell 脚本,我正在做的是:

sudo docker build -f src/main/docker/Dockerfile.jvm -t $docker_name .
sudo docker save $docker_name > $tar_name

scp $tar_name $target_path

我想我已经做到了build,并且save已经在 azure-pipelines 中使用了。

但是怎么做scp呢?我需要管道中的一些 ssh 密钥来在目标机器上授权它。它不能是我的密钥对,因为它会被泄露。那么如何为管道制作一个呢?


这是任务描述。它指出,

该任务支持使用 SSH 密钥对连接到远程机器。

但没有解释,如果我有它,如何使用密钥对。

标签: dockersecuritysshazure-pipelinesssh-keys

解决方案


我发现Azure有一个特殊的管道任务叫做CopyFilesOverSSH. 它以预先配置的“服务连接”的形式接收密钥,应该在单独的页面上配置:

在此处输入图像描述

配置service connection涉及正确存储密钥。

无需调用scp命令本身。


推荐阅读