88# SPDX-License-Identifier: EPL-2.0
99#
1010
11- # https://github.com/sclorg/s2i-nodejs-container/blob/master/22/root/opt/app-root/etc/generate_container_user
1211USER_ID=$( id -u)
1312
14- export LD_PRELOAD=/sshd/libeconf.so.0:/sshd/libpam.so.0:/sshd/libcrypt.so.2
13+ sshd_libdir=
14+ . /etc/os-release
15+ case $VERSION_ID in
16+ " 8" * )
17+ sshd_libdir=/sshd/ubi8
18+ export LD_PRELOAD=$sshd_libdir /libpam.so.0
19+ ;;
20+ " 9" * )
21+ sshd_libdir=/sshd/ubi9
22+ export LD_PRELOAD=$sshd_libdir /libeconf.so.0:$sshd_libdir /libpam.so.0:$sshd_libdir /libcrypt.so.2
23+ ;;
24+ " 10" * )
25+ sshd_libdir=/sshd/ubi9
26+ export LD_PRELOAD=$sshd_libdir /libeconf.so.0:$sshd_libdir /libpam.so.0:$sshd_libdir /libcrypt.so.2
27+ ;;
28+ * )
29+ sshd_libdir=/sshd/ubi9
30+ export LD_PRELOAD=$sshd_libdir /libeconf.so.0:$sshd_libdir /libpam.so.0:$sshd_libdir /libcrypt.so.2
31+ ;;
32+ esac
1533
34+ # https://github.com/sclorg/s2i-nodejs-container/blob/master/22/root/opt/app-root/etc/generate_container_user
1635# Configure passwd/group files for SSHD
1736# Random user must have a login shell and appropriate home folder
1837if [ x" $USER_ID " != x" 0" -a x" $USER_ID " != x" 1001" ]; then
@@ -35,7 +54,7 @@ if [ x"$USER_ID" != x"0" -a x"$USER_ID" != x"1001" ]; then
3554
3655 export NSS_WRAPPER_PASSWD
3756 export NSS_WRAPPER_GROUP
38- export LD_PRELOAD=$LD_PRELOAD :/sshd /libnss_wrapper.so
57+ export LD_PRELOAD=$LD_PRELOAD :$sshd_libdir /libnss_wrapper.so
3958fi
4059
4160if [ $HOME = " /" ] || [ -z $USER_NAME ]; then
4564
4665# Common tools needed to set up service
4766mkdir -p $HOME /bin
48- cp /sshd/ tar /sshd/ gzip /sshd /which $HOME /bin/
67+ cp $sshd_libdir / tar $sshd_libdir / gzip $sshd_libdir /which $HOME /bin/
4968echo ' export PATH=$PATH:$HOME/bin' >> $HOME /.profile
5069
5170# Set up environment variables injected into PID 1 (.profile & .bashrc)
@@ -58,10 +77,10 @@ mkdir /var/tmp/ssh
5877chmod 755 /var/tmp/ssh
5978
6079# Generate SSH Host keys
61- /sshd /ssh-keygen -q -N " " -t dsa -f /var/tmp/ssh/ssh_host_dsa_key && \
62- /sshd /ssh-keygen -q -N " " -t rsa -b 4096 -f /var/tmp/ssh/ssh_host_rsa_key && \
63- /sshd /ssh-keygen -q -N " " -t ecdsa -f /var/tmp/ssh/ssh_host_ecdsa_key && \
64- /sshd /ssh-keygen -q -N " " -t ed25519 -f /var/tmp/ssh/ssh_host_ed25519_key
80+ $sshd_libdir /ssh-keygen -q -N " " -t dsa -f /var/tmp/ssh/ssh_host_dsa_key && \
81+ $sshd_libdir /ssh-keygen -q -N " " -t rsa -b 4096 -f /var/tmp/ssh/ssh_host_rsa_key && \
82+ $sshd_libdir /ssh-keygen -q -N " " -t ecdsa -f /var/tmp/ssh/ssh_host_ecdsa_key && \
83+ $sshd_libdir /ssh-keygen -q -N " " -t ed25519 -f /var/tmp/ssh/ssh_host_ed25519_key
6584
6685# Ensure appropriate permissions
6786chmod 600 /var/tmp/ssh/ssh_host_* /sshd/sshd_config
@@ -86,7 +105,7 @@ mkdir -p $HOME/.ssh
86105if [ -f /etc/ssh/dwo_ssh_key.pub ]; then
87106 cp /etc/ssh/dwo_ssh_key.pub $HOME /.ssh/authorized_keys
88107else
89- /sshd /ssh-keygen -q -N ' ' -t ed25519 -f /sshd/ssh_client_ed25519_key
108+ $sshd_libdir /ssh-keygen -q -N ' ' -t ed25519 -f /sshd/ssh_client_ed25519_key
90109 cp /sshd/ssh_client_ed25519_key.pub $HOME /.ssh/authorized_keys
91110fi
92111
@@ -96,5 +115,5 @@ cp /sshd/sshd_config /var/tmp/ssh/
96115echo -n " $( whoami) " > /sshd/username
97116
98117# start SSHD
99- exec /sshd /sshd -D -f /var/tmp/ssh/sshd_config -E /tmp/sshd.log
118+ exec $sshd_libdir /sshd -D -f /var/tmp/ssh/sshd_config -E /tmp/sshd.log
100119
0 commit comments