Come for the products,
stay for the community

The Atlassian Community can help you and your team get more value out of Atlassian products and practices.

Atlassian Community about banner
Community Members
Community Events
Community Groups

Bitbucket Pipeline Host key verification failed. (Centos)


I'll try to set up the bitbucket pipeline for my deployments. I'll add the pipeline to the bitbucket repository and configure the SSH keys correctly with Known hosts. after that, I'll run the ssh commands every time getting Host key verification failed This is my pipeline configuration


image: php:7.2
- step:
name: "Logging to server"
- apt-get update && apt-get install -y unzip
- apt-get install -y openssh-client
- echo "Trying to logging ..."
- ssh root@ip

And I already added the generated(from bitbucket ssh section) public key to my server's  ~/.ssh/authorized_keys file. How can fix the issue.? (centos 7 server)


Pseudo-terminal will not be allocated because stdin is not a terminal.Host key verification failed.

When I run 

ssh-keyscan -t rsa ssh-rsa AAAAB3NzaC1yc2EAAAAB ...


2 answers

1. go to -> Repository settings

2. go to -> SSH keys ( on the left navigation)

3. at the known hosts section

- input your Bastion host public IP address

- then click Fetch button

- rerun your pipeline

Please check this thread.


I faced a similar issue, when creating immutable infrastructure as part of my Pipeline.

I used the following to mitigate:

- terraform apply

ec2_public_ip=$(terraform output -json | jq -r '.public_dns.value')
echo $ec2_public_ip
ssh-keyscan -t rsa $ec2_public_ip >> ~/.ssh/known_hosts
pipe: atlassian/ssh-run:0.2.8
variables: SSH_USER: 'fedora'
SERVER: $ec2_public_ip
COMMAND: 'curl'
You could also create a step, that outputs a fingerprint artifact:

- step: &get-fingerprint name: Get Host Fingerprint to add to known_hosts script:
ssh-keyscan -t rsa $ec2_public_ip > fingerprint

Thanks. but it's not working. still getting below issue. 

ssh -A -tt -i /root/.ssh/pipelines_id -o StrictHostKeyChecking=no -p 22 root@ip php -v 

Permission denied, please try again.Permission denied, please try again.root@ip: Permission denied (publickey,gssapi-keyex,gssapi-with-mic,password).

Are you able to run a quick test step?

`ssh -T root@ip'

Also, are you sure you want to connect with root ?

actually, I don't need to run with the root. but several times getting permission issues  know, that's why ill try with the root. 

ssh -T root@ip


getting same error

Permission denied (publickey,gssapi-keyex,gssapi-with-mic,password)

Yes, but using an incorrect user can also cause this same issue.

i.e. if I was to try and connect to an AWS ec2 instance and I don't use the centos username I would get permission denied or at least a message saying to login with centos

I have this working no problems, my key is defined in Pipelines -> SSH Keys and this is the same Key I use to launch my instances.

I use the fingerprint method described above to add the host to known_hosts on the fly.

So either:

The user is incorrect


The Key is incorrect.

Like Nishantha Kumara likes this

Thanks @Dave Gilmore Ill recheck all and let you know.

Suggest an answer

Log in or Sign up to answer

Atlassian Community Events