summaryrefslogtreecommitdiffstats
path: root/os-plugins/plugins/dropbear/XX_dropbear.sh
blob: cb4321ff139eb73790dc27d17d6105823e046ecb (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58

# Copyright (c) 2007..2008 - RZ Uni Freiburg
# Copyright (c) 2008 - OpenSLX GmbH
#
# This program/file is free software distributed under the GPL version 2.
# See http://openslx.org/COPYING
#
# If you have any feedback please consult http://openslx.org/feedback and
# send your feedback to feedback@openslx.org
#
# General information about OpenSLX can be found at http://openslx.org
#
# stage3 part of 'dropbear' plugin - the runlevel script
#
# script is included from init via the "." load function - thus it has all
# variables and functions available

if [ -e /initramfs/plugin-conf/dropbear.conf ]; then
  . /initramfs/plugin-conf/dropbear.conf
  if [ $dropbear_active -ne 0 ]; then
    [ $DEBUGLEVEL -gt 0 ] && echo "executing the 'dropbear' os-plugin ...";

       # setup links to multibinary
       ln -sf /mnt/opt/openslx/plugin-repo/dropbear/dropbearmulti /sbin/dropbear
       ln -sf /mnt/opt/openslx/plugin-repo/dropbear/dropbearmulti /sbin/dropbearkey
       ln -sf /mnt/opt/openslx/plugin-repo/dropbear/dropbearmulti /sbin/dropbearconvert
       ln -sf /mnt/opt/openslx/plugin-repo/dropbear/dropbearmulti /bin/dbclient
       ln -sf /mnt/opt/openslx/plugin-repo/dropbear/dropbearmulti /bin/scp

       # create dropbear config dir
       mkdir -p /etc/dropbear

       # touch some files to get rid of error msgs
       touch /var/log/lastlog
       touch /var/log/wtmp

       # copy ssh auth keys from stage1
       cp -r /mnt/root/.ssh /root

       # give root a valid shell
       sed -i /etc/passwd -e "s/bash/sh/"       

       # convert openssh rsa key to dropbear key - if available
       if [ -e /mnt/etc/ssh/ssh_host_rsa_key ]; then
         dropbearconvert openssh dropbear /mnt/etc/ssh/ssh_host_rsa_key \
           /etc/dropbear/dropbear_rsa_host_key
       else 
         dropbearkey -t rsa -f /etc/dropbear/dropbear_rsa_host_key
       fi

       echo "OpenSLX Debugshell (stage3)" >> /etc/motd
  
       /sbin/dropbear 

    [ $DEBUGLEVEL -gt 0 ] && echo "done with 'dropbear' os-plugin ...";

  fi
fi