Showing results for 
Search instead for 
Did you mean: 
Sign up Log in

Earn badges and make progress

You're on your way to the next level! Join the Kudos program to earn points and save your progress.

Deleted user Avatar
Deleted user

Level 1: Seed

25 / 150 points

Next: Root


1 badge earned


Participate in fun challenges

Challenges come and go, but your rewards stay with you. Do more to earn more!


Gift kudos to your peers

What goes around comes around! Share the love by gifting kudos to your peers.


Rise up in the ranks

Keep earning points to reach the top of the leaderboard. It resets every quarter so you always have a chance!


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.

This saved me a ton of time! Thank you!


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
AUG Leaders

Atlassian Community Events