I'm using Laravel Sail and have published the Dockerfile
(so I can edit it manually). The reason being that I need to use an OpenSSH server on the container itself for a program I'm using.
I am able to install OpenSSH by adding && apt-get install -y openssh-server
to the packages section and configure it with the following:
RUN mkdir /var/run/sshd
RUN sed -i 's/PermitRootLogin prohibit-password/PermitRootLogin yes/' /etc/ssh/sshd_config
RUN sed 's@session\s*required\s*pam_loginuid.so@session optional pam_loginuid.so@g' -i /etc/pam.d/sshd
EXPOSE 22
The issue though is that it does not start when the container starts.
According to this answer you can add an ENTRYPOINT
as follows:
ENTRYPOINT service ssh restart && bash
However you can only have one ENTRYPOINT
and Laravel Sail has this by default:
ENTRYPOINT ["start-container"]
I have tried the following:
- add
/usr/sbin/sshd
to thestart-container
script - it didn't start - add
CMD ["/usr/sbin/sshd", "-D"]
into theDockerfile
as per this answer - it gave a permission denied error when starting the container