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

10,681

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/* ./
Share:
10,681
James
Author by

James

Updated on July 19, 2022

Comments

  • James
    James almost 2 years

    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?

  • Marcus Junius Brutus
    Marcus Junius Brutus over 5 years
    this answer of mine: unix.stackexchange.com/a/323751/24044 seems related and AFAICT points to the same solution (albeit with a different method).