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!


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 Runner - sftp-deploy


Hello Comunity, I am trying to deploy to on-premise via Runner using the sftp-deploy. In the figure 1 you can find the deployment yaml. The figure 2 shows the deployment logs. It seems to be running ok beacuse it donwloads the "sftp-deploy:0.5.7" image, stablish the connection with the remote host but it its not enable to stablish the sftp connection beacuse of the host key verification.

At this point, I am not pretty sure how to pass to the image the known_hosts. I tried to use the SSH_KEY configuration, but it seems that it does not fecht the Fingerprints via runners.


Does any of you have an idea to work this out?

Figure 1 - Deployment yaml
Deploy pipe.PNG

Figure 2 - Deployment logs




3 answers

1 accepted

1 vote
Answer accepted

At the end I decided to stop using the image: "atlassian/sftp-deploy:0.5.7" and copy the artifact using sshpass using the image: "atlassian/default-image:latest". Here is the final pipeline:

Deployment with sshpass.PNG

Hi Renato,

Thank you so much. I was having sftp issue for fresh deployment with

atlassian/sftp-deploy:0.5.8. I searched a lot and tried everything but didn't work. Able to deploy files but not folder which doesn't already exist on server. Finally able to do that with ssh.
Like Renato Baudouin likes this

You are welcome :). Glad it helps you.

Hi Renato,

If you still have problems you can use the tutorial I followed when creating the pipeline: 

The part that you need starts at 13:23

Excellent video. To provide the answer on this post the solution was to go to Repository Settings -> SSH Keys then under known hosts enter the domain/ip of the server you are trying to connect to, get the finger print, then add the host.

0 votes
Caroline R Atlassian Team Sep 28, 2021

Hi, @Renato Baudouin

Thank you for reaching out to Atlassian Community!

In order to further investigate this issue, could you please confirm:

  1. What is the Runner version you are using? You can find it in the Runner log on the top. 

  2. Have you fetched the host fingerprints in the Pipeline?

Thank you.

Kind regards,

Hi Caroline,

Thank you for your response.

Here are my comments:

  1. What is the Runner version you are using?  It is Runner version: 1.174, Runner runtime: linux-docker

  2. Have you fetched the host fingerprints in the Pipeline? I am not sure how to do it. I tried to user the SSH_KEY in the repository settings, but it seems that it does not fecht the Fingerprints via runners.

Caroline R Atlassian Team Sep 29, 2021

Hi, Renato. 

Thanks for the information. It seems your Runner is not updated, so first of all, you need to upgrade the Runner version that has some bug fixes and some enhancements.

You can check in the following link how to update the runner:

Also, by your last comment, I couldn’t understand if you have fetched the host fingerprints in the Pipelines setting. So, in case you haven’t, please follow the next steps to accomplish that: 

  • Open your repository in Bitbucket

  • Click on Repository settings

  • Under the Pipelines section, open SSH keys 

  • There, you can add the known hosts and fetch the fingerprints

Please, feel free to share any additional questions or concerns regarding this case. 

Kind regards,

Hi Caroline,

Thank you very much for your response. Yes, I tried to configure the known hosts the in the SSH key. But it is no able to fetch it, because my Remote Host is onPremise. Please check the Figure 3. So here is my questions:

  • Is there a way to indicate that the fetch should be made through the runner?


Figure 3 - Diagram


Caroline R Atlassian Team Oct 04, 2021

Hi, Renato! 

Thank you for the additional information! In this case, you can add it in the Pipeline YML:

ssh-keyscan -p 20 -t rsa <Host URL> >> /.ssh/known_hosts

It should add the fingerprint. Please let me know how it goes and don't hesitate to ask for any further information if needed. 

Kind regards,

Hi Caroline,

I put the ssh-keyscan statement in the script section as shown in the Figure 1. But it seems that I still have a failed deployment. 


Figuere 1 - YML

Deploy pipeline 2.PNG

Figure 2 - Log Error

Log 2.PNG

Caroline R Atlassian Team Oct 08, 2021

Hi, Renato!

Thanks for sharing the logs. I see that there is a code 6 there, which means "File does not exist". You have specified LOCAL_PATH, however, I don’t see any steps about the file generation.

In this case, could you please verify the file mentioned in the LOCAL_PATH variable? You can run the following command before the pipe to confirm if the directory exists and if there is something in it:

ls -lah 

Thank you. 

Kind regards,

Hi Caroline, you where rigth. I didn't check the correct path for the artifact. I verified that it downloads the artifact to this path: "/opt/atlassian/pipelines/agent/". I correct it but neithet i could make it work. At the end I decided to stop using the image:  "atlassian/sftp-deploy:0.5.7" and copy the artifact using sshpass.

By the way thank you very much for your assistance :)

Suggest an answer

Log in or Sign up to answer
AUG Leaders

Atlassian Community Events