/Bin/Sh: Passwd: Command Not Found

I tried to execute Docker-compose build but getting the below error.

I'm using centos7 and completely new to Linux.

/bin/sh: passwd: command not found.
ERROR: Service 'remote_host' failed to build: The command '/bin/sh -c useradd remote_user &&     echo "welcome1" | passwd remote_user --stdin &&     mkdir /home/remote_user/.ssh &&     chmod 700 /home/remote_user/.ssh' returned a non-zero code: 127.

DockerFile.

FROM centos: latest
RUN yum -y install OpenSSH-server

RUN useradd remote_user && \
    echo "welcome1" | passwd remote_user --stdin && \
    mkdir /home/remote_user/.ssh && \
    chmod 700 /home/remote_user/.ssh`enter code here`

COPY remote-key.pub /home/remote_user/.ssh/authorized_keys

RUN chown remote_user:remote_user -R /home/remote_user chmod 600 /home/remote_user/.ssh/authorized_keys

RUN /usr/sbin/sshd-keygen

CMD /usr/sbin/sshd -D

whoami: mosses987 $PATH: /usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/home/mosses987/.local/bin:/home/mosses987/bin

15

6 Answers

add this line its working:

RUN yum install -y passwd

And comment this line:

RUN /usr/sbin/sshd-keygen

This should work,

FROM centos

RUN yum -y install openssh-server

RUN yum install -y passwd

RUN useradd remote_user && \
    echo "1234" | passwd remote_user --stdin && \
    mkdir /home/remote_user/.ssh && \
    chmod 700 /home/remote_user/.ssh

COPY remote-key.pub /home/remote_user/.ssh/authorized_keys

RUN chown remote_user:remote_user -R /home/remote_user/.ssh/ && \
    chmod 600 /home/remote_user/.ssh/authorized_keys

#RUN /usr/sbin/sshd-keygen

CMD /usr/sbin/sshd -D

You need to install passwd because the remote host does not have passwd installed. Add below line before the passwd command.

RUN yum install -y passwd 

add this line

RUN yum install -y passwd

That should work

FROM centos:7


RUN yum update -y && \
    yum -y install openssh-server && \
    yum install -y passwd


RUN useradd remote_user  && \
    echo "1234" | passwd remote_user --stdin && \
    mkdir /home/remote_user/.ssh && \
    chmod 700 /home/remote_user/.ssh


COPY remote-key.pub /home/remote_user/.ssh/authorized_keys


RUN chown -R remote_user:remote_user /home/remote_user/.ssh && \
    chmod -R 600 /home/remote_user/.ssh/authorized_keys


RUN /usr/sbin/sshd-keygen


CMD /usr/sbin/sshd -D

In the same file, I faced the same issue but resolved it with a post written by Jaimil Patel but a new error occur about ssh_host_rsa_key not being found so I resolved the error by adding the block bellow

RUN  ssh-keygen -t rsa -f /etc/ssh/ssh_host_rsa_key && \
     ssh-keygen -t dsa -f /etc/ssh/ssh_host_dsa_key && \
     ssh-keygen -t ecdsa -f /etc/ssh/ssh_host_ecdsa_key && \
     ssh-keygen -t ecdsa -f /etc/ssh/ssh_host_ed25519_key

New error when you try to login with ssh to remote container

System is booting up. Unprivileged users are not permitted to log in yet. Please come back later. For technical details, see pam_nologin(8).

So I resolve this error by adding

rm /run/nologin

Updated version of the dockerfile


FROM centos

RUN cd /etc/yum.repos.d/ && \
 sed -i 's/mirrorlist/#mirrorlist/g' /etc/yum.repos.d/CentOS-* && \
 sed -i 's|#baseurl= /etc/yum.repos.d/CentOS-*

RUN yum -y install openssh-server passwd

RUN useradd remote_user && \
    echo "1234" | passwd remote_user  --stdin && \
    mkdir /home/remote_user/.ssh && \
    chmod 700 /home/remote_user/.ssh


RUN  ssh-keygen -t rsa -f /etc/ssh/ssh_host_rsa_key && \
     ssh-keygen -t dsa -f /etc/ssh/ssh_host_dsa_key && \
     ssh-keygen -t ecdsa -f /etc/ssh/ssh_host_ecdsa_key && \
     ssh-keygen -t ecdsa -f /etc/ssh/ssh_host_ed25519_key

COPY remote-key.pub /home/remote_user/.ssh/authorized_keys

RUN chown remote_user:remote_user   -R /home/remote_user && \
    chmod 600 /home/remote_user/.ssh/authorized_keys && \
    rm /run/nologin



CMD /usr/sbin/sshd -D
0

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Sarah Jenkins

Sarah Jenkins

Senior Technology Editor & AI Specialist

Sarah Jenkins is a veteran tech journalist with over 12 years of experience covering artificial intelligence, mobile innovations, and digital ethics. Her insights have appeared in leading technology publications worldwide.

Share this article
Twitter Facebook Pinterest