首页 > 解决方案 > scp-主机密钥验证失败-AzureDevOps

问题描述

我想将文件从 Ubuntu 16.04 azuredevops 代理复制到远程 linux 主机(也安装了 azuredevops 代理)。

我将公钥复制到~/.ssh/authorized_keys

从终端,一切正常

scp myagent/_work/10/s/docker-compose.yml root@192.168.1.76:/opt
docker-compose.yml                                                      100% 1036     1.0KB/s   00:00

我在管道中创建了步骤来执行完全相同的命令

在此处输入图像描述

但是现在出现错误

2020-07-08T08:54:43.5359334Z [command]/bin/bash --noprofile --norc /home/user/myagent/_work/_temp/3ce8bc1e-7842-4f97-bc35-884893882d3c.sh
2020-07-08T08:54:43.5442624Z Pseudo-terminal will not be allocated because stdin is not a terminal.
2020-07-08T08:54:43.6019929Z Host key verification failed.
2020-07-08T08:54:43.6074975Z 
2020-07-08T08:54:43.6245687Z ##[error]Bash exited with code '255'

标签: azure-devopsubuntu-16.04scp

解决方案


您可以使用Copy Files Over SSH任务将文件复制到远程服务器。

首先,您需要创建一个 SSH服务连接以与远程服务器连接。

转到项目设置--> 管道--> 服务连接--> 新服务连接--> 选择 SSH。

然后在您的管道中添加Copy Files Over SSH任务以将文件复制到远程服务器。

如果你想在远程服务器上运行脚本,你可以使用SSH task


推荐阅读