I am trying to deploy my Symfony 5 application via BitBucket Pipelines and easy-corp/easy-deploy-bundle to my server. I’ve followed the instructions on https://support.atlassian.com/bitbucket-cloud/docs/use-ssh-keys-in-bitbucket-pipelines/ to create an ssh key and added my server as a known host within BitBucket. I also followed the instructions at https://github.com/EasyCorp/easy-deploy-bundle/.
The error I get within the pipeline when running php bin/console deploy -v
is:
[Executing command: echo 1234353400 ]
| err :: Host key verification failed.
In Process.php line 252:
[SymfonyComponentProcessExceptionProcessFailedException]
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.
I’ve added the public key from Symfony to the file ~/.ssh/authorized_keys
on my server.
My config file for deployment (deploy.php
) looks as follows:
<?php
use EasyCorpBundleEasyDeployBundleDeployerDefaultDeployer;
return new class extends DefaultDeployer
{
public function configure()
{
return $this->getConfigBuilder()
->server('user@host:port')
->deployDir('dir')
->repositoryUrl('ssh-url')
->repositoryBranch('develop')
;
}
};
Where user, host, port, dir, and ssh-url are replaced by my credentials, which work fine when accessing the server via ssh in the terminal.
So what am I doing wrong? Is easy-deploy-bundle accessing the valid .ssh directory, where BitBucket stores my key and known host?
I found that StrictHostKeyChecking=no
could be a possible solution, but I didn’t found how to disable it within easy-deploy-bundle.
Thanks for your help.
Advertisement
Answer
I found that
StrictHostKeyChecking=no
could be a possible solution, but I didn’t found how to disable it within easy-deploy-bundle.
That means you have actually not added the remote server fingerprint to the known_hosts
.
- either you have added the hostname only, and it needs the IP (or vice-versa)
- or you have added it using one account (
~/.ssh/known_hosts
), but the plugin is executed by another account (orroot
), and does not read the rightknown_hosts