Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Docker RUN fails with "returned a non-zero code: 6"

I have the following in my docker file:

RUN sudo apt-get install sshpass -y
RUN sshpass -p userPassword scp -r user@server:~/data/* ./

But when I try and build my image it fails with:

Exception caught: The command '/bin/sh -c sshpass -p userPassword scp -r user@server:~/data/* ./' returned a non-zero code: 6 -> [Help 1]

However, if I remove these lines, build the image, ssh onto the container and manually run the command from bash it works perfectly.

Can anyone tell me how to get around this?

like image 854
James Avatar asked Nov 27 '15 16:11

James


1 Answers

The exit code 6 means that "Host public key is unknown. sshpass exits without confirming the new key."

So either you populate before that the ~/.ssh/known_hostswith the fingerprint of the host, or just ignore the check of the host public key by adding the StrictHostKeyChecking=no option to the scp.

The updated line would look like that:

RUN sshpass -p userPassword scp -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null -r user@server:~/data/* ./
like image 78
mishunika Avatar answered Oct 02 '22 13:10

mishunika