- adjust to package changes
[opensuse:installation-images.git] / data / root / etc / inst_setup_ssh
1 # will be sourced by /sbin/inst_setup
2 # but can also be called manually: $0 [-n] rootpassword
3
4 # vim: syntax=sh
5
6 nosshkey=false
7 if [ "$1" = "-n" ] ; then
8   nosshkey=true
9   shift
10 fi
11
12 if grep -qwi nosshkey < /proc/cmdline ; then
13   nosshkey=true
14 fi
15
16 if ! test -z "$1" ; then
17   sshpassword=$1
18 fi
19
20 if [ "$nosshkey" = "true" ] ; then
21   # for inst-sys testing
22   echo using built-in ssh keys
23   cp -a --remove-destination /lib/ssh/*key* /etc/ssh/
24   chmod 644 /etc/ssh/*key.pub
25   chmod 600 /etc/ssh/*key
26 fi
27
28 if [ ! -z "$sshpassword" ] ; then
29   mv -f /etc/passwd /etc/passwd.
30   mv -f /etc/shadow /etc/shadow.
31   cat /etc/passwd. > /etc/passwd
32   cat /etc/shadow. > /etc/shadow
33   chmod 600 /etc/shadow
34   chmod 644 /etc/passwd
35   echo "setting temporary root password to '$sshpassword'"
36   echo "root:$sshpassword" | chpasswd
37 fi
38 chown -R 0.0  /etc/ssh /root /etc/shadow 2>/dev/null
39 echo "Starting SSH daemon  ...  "
40
41 rcsshd start || {
42   export SSH_FAILED=true
43   export YAST2_SSH=false
44   echo 'sshd did NOT start!'
45 }
46
47 if [ ! "$SSH_FAILED" ] ; then
48   echo
49   ip -oneline -family inet link show up | \
50   sed -n '/link\/\(ether\|ieee1394\|tr\)/s@^[^ ]\+[ ]\+\([^:]\+\).*@\1@p' | \
51   xargs --no-run-if-empty -n1 ip addr show dev | \
52   sed 's@^[0-9]\+: *@@'
53   export YAST2_SSH=true
54   cat <<EOF
55
56       ***  sshd has been started  ***
57
58 EOF
59 fi
60
61 [ -f /proc/splash ] && echo verbose >/proc/splash
62