首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么主机密钥验证失败?使用轻松部署的Symfony和BitBucket部署-Bundle

为什么主机密钥验证失败?使用轻松部署的Symfony和BitBucket部署-Bundle
EN

Stack Overflow用户
提问于 2020-08-19 12:24:28
回答 1查看 898关注 0票数 1

我正试图通过BitBucket管道和轻松-corp/简易部署包将我的Symfony 5应用程序部署到我的服务器上。我按照https://support.atlassian.com/bitbucket-cloud/docs/use-ssh-keys-in-bitbucket-pipelines/上的说明创建了ssh键,并将我的服务器添加为BitBucket中已知的主机。我还遵循了https://github.com/EasyCorp/easy-deploy-bundle/的指示。

在运行php bin/console deploy -v时,在管道中遇到的错误是:

代码语言:javascript
复制
[...] Executing command: echo 1234353400
| err :: Host key verification failed.
In Process.php line 252:
                                                                               
  [Symfony\Component\Process\Exception\ProcessFailedException]                 
  The command "ssh ... -p ... 'echo 1234353400'" failed.  
                                                                               
  Exit Code: 255(Unknown error)                                                
                                                                               
  Working directory: /opt/atlassian/pipelines/agent/build                      
                                                                               
  Output:                                                                      
  ================                                                             
                                                                               
                                                                               
  Error Output:                                                                
  ================                                                             
  Host key verification failed.                                                

我已经将Symfony中的公钥添加到服务器上的文件~/.ssh/authorized_keys中。

我的部署配置文件(deploy.php)如下所示:

代码语言:javascript
复制
<?php

use EasyCorp\Bundle\EasyDeployBundle\Deployer\DefaultDeployer;

return new class extends DefaultDeployer
{
    public function configure()
    {
        return $this->getConfigBuilder()
            ->server('user@host:port')
            ->deployDir('dir')
            ->repositoryUrl('ssh-url')
            ->repositoryBranch('develop')
        ;
    }
};

其中,用户、主机、端口、dir和ssh-url被我的凭据所取代,当通过终端中的ssh访问服务器时,凭据很好地工作。

那我做错什么了?轻松部署包是否访问有效的.ssh目录( BitBucket存储我的密钥和已知主机)?

我发现StrictHostKeyChecking=no可能是一个可能的解决方案,但我没有找到如何在轻松部署包中禁用它。

谢谢你的帮助。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-08-20 04:32:40

我发现StrictHostKeyChecking=no可能是一个可能的解决方案,但我没有找到如何在轻松部署包中禁用它。

这意味着你实际上没有added the remote server fingerprint to the known_hosts

known_hosts

  • ,您只添加了主机名,它需要IP (或者反之亦然)

  • ,或者使用一个帐户(~/.ssh/known_hosts)添加它,但是插件由另一个帐户(或root)执行,并且不读取正确的

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63486882

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档