58 lines
1.9 KiB
Bash
58 lines
1.9 KiB
Bash
#!/bin/bash
|
|
|
|
|
|
if [[ (! -z "${ADDITIONAL_USER}" ) && ( "${ADDITIONAL_USER}" != "root" ) ]]; then
|
|
useradd -m -s /bin/bash $ADDITIONAL_USER
|
|
if [[ ! -z "${ADDITIONAL_USER_UID}" ]]; then
|
|
usermod -u $ADDITIONAL_USER_UID $ADDITIONAL_USER
|
|
fi
|
|
if [[ ! -z "${ADDITIONAL_USER_GID}" ]]; then
|
|
groupmod -g $ADDITIONAL_USER_GID $ADDITIONAL_USER
|
|
fi
|
|
if [[ ! -z "${ADDITIONAL_USER_PASSWORD_FILE}" ]]; then
|
|
echo "${ADDITIONAL_USER}:$(cat $ADDITIONAL_USER_PASSWORD_FILE)" | chpasswd
|
|
fi
|
|
|
|
if [[ ! -z "${ADDITIONAL_USER_PUBLICKEY}" ]]; then
|
|
if [ ! -d "/home/${ADDITIONAL_USER}/.ssh" ]; then
|
|
mkdir -p "/home/${ADDITIONAL_USER}/.ssh"
|
|
chown -R $(id -u "${ADDITIONAL_USER}"):$(id -g "${ADDITIONAL_USER}") "/home/${ADDITIONAL_USER}/.ssh"
|
|
fi
|
|
echo "${ADDITIONAL_USER_PUBLICKEY}" >> /home/"${ADDITIONAL_USER}"/.ssh/authorized_keys
|
|
fi
|
|
fi
|
|
if [[ ! -z "${ROOT_PASSWORD_FILE}" ]]; then
|
|
echo "root:$(cat $ROOT_PASSWORD_FILE)" | chpasswd
|
|
fi
|
|
if [[ ! -z "${ROOT_PUBLICKEY}" ]]; then
|
|
if [ ! -d "/root/.ssh" ]; then
|
|
mkdir -p "/root/.ssh"
|
|
fi
|
|
echo "${ROOT_PUBLICKEY}" >> /root/.ssh/authorized_keys
|
|
fi
|
|
if [[ (! -z "${ENABLE_PASSWORD_AUTHENTICATION}") && ("${ENABLE_PASSWORD_AUTHENTICATION}" = '1') ]]; then
|
|
echo "PasswordAuthentication yes" >> /etc/ssh/sshd_config
|
|
if [[ (! -z "${ENABLE_ROOT}") && ("${ENABLE_ROOT}" = 1) ]]; then
|
|
echo "PermitRootLogin yes" >> /etc/ssh/sshd_config
|
|
else
|
|
echo "PermitRootLogin no" >> /etc/ssh/sshd_config
|
|
fi
|
|
else
|
|
echo "PasswordAuthentication no" >> /etc/ssh/sshd_config
|
|
if [[ (! -z "${ENABLE_ROOT}") && ("${ENABLE_ROOT}" = '1') ]]; then
|
|
echo "PermitRootLogin without-password" >> /etc/ssh/sshd_config
|
|
else
|
|
echo "PermitRootLogin no" >> /etc/ssh/sshd_config
|
|
fi
|
|
fi
|
|
|
|
rm /etc/ssh/ssh_host_*key*
|
|
ssh-keygen -t rsa -b 4096 -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 ed25519 -f /etc/ssh/ssh_host_ed25519_key
|
|
|
|
usermod -s /bin/bash root
|
|
/usr/sbin/sshd -D
|
|
#exec "$@"
|