diff options
author | Maarten Vanraes <alien@mageia.org> | 2012-02-25 20:52:44 +0000 |
---|---|---|
committer | Maarten Vanraes <alien@mageia.org> | 2012-02-25 20:52:44 +0000 |
commit | fbe1f88acd8d52005f6ed41e762042aff97d99dc (patch) | |
tree | b52528c86675b4889df3a25274e2b9e3bdf2a3a5 /rescue/startssh | |
parent | b2d72b23bce159b274bf955b7f5f57bf8f7ae568 (diff) | |
download | drakx-backup-do-not-use-fbe1f88acd8d52005f6ed41e762042aff97d99dc.tar drakx-backup-do-not-use-fbe1f88acd8d52005f6ed41e762042aff97d99dc.tar.gz drakx-backup-do-not-use-fbe1f88acd8d52005f6ed41e762042aff97d99dc.tar.bz2 drakx-backup-do-not-use-fbe1f88acd8d52005f6ed41e762042aff97d99dc.tar.xz drakx-backup-do-not-use-fbe1f88acd8d52005f6ed41e762042aff97d99dc.zip |
add some tests and error handling in startssh
Diffstat (limited to 'rescue/startssh')
-rwxr-xr-x | rescue/startssh | 25 |
1 files changed, 16 insertions, 9 deletions
diff --git a/rescue/startssh b/rescue/startssh index 48bba7cbc..0a88820de 100755 --- a/rescue/startssh +++ b/rescue/startssh @@ -1,20 +1,27 @@ #!/bin/bash -passwd=`genpasswd` +# test for an up interface != lo +if test "x"`ifconfig | cut -d ' ' -f 1 | grep -v '^$' | grep -v lo` = "x"; then + echo "There is no up interface, you can try to execute 'drvinst' to find drivers and 'dhcp-client' to configure your interface for DHCP." >&2 + exit 5 +fi + +# generate host keys +mkdir -p /etc/dropbear +[[ -f /etc/dropbear/dropbear_dss_host_key ]] || dropbearkey -t dss -f /etc/dropbear/dropbear_dss_host_key >/dev/null || { echo "Can't generate dsa host key" >&2 ; exit 4 } +[[ -f /etc/dropbear/dropbear_rsa_host_key ]] || dropbearkey -t rsa -f /etc/dropbear/dropbear_rsa_host_key >/dev/null || { echo "Can't generate rsa host key" >&2 ; exit 3 } +# set a password +passwd=`genpasswd` if (( $? != 0 )); then reset exit $? fi +sed -E -i -e 's/^root:[^:]*:/root:'"$passwd"':/' /etc/passwd || { echo "Can't set password" >&2 ; exit 2 } -# change passwd file -sed -E -i -e 's/^root:[^:]*:/root:'"$passwd"':/' /etc/passwd - -# generate host keys -mkdir -p /etc/dropbear -[[ -f /etc/dropbear/dropbear_dss_host_key ]] || dropbearkey -t dss -f /etc/dropbear/dropbear_dss_host_key >/dev/null -[[ -f /etc/dropbear/dropbear_rsa_host_key ]] || dropbearkey -t rsa -f /etc/dropbear/dropbear_rsa_host_key >/dev/null +# test for /dev/pts +grep '^devpts /dev/pts devpts ' /proc/mounts >/dev/null 2>/dev/null || mount -t devpts devpts /dev/pts echo "" echo -n "Starting ssh daemon... " -dropbear -E 2>/var/log/dropbear.log && echo "OK" +dropbear -E 2>/var/log/dropbear.log && echo "OK" || { echo "Failed" ; exit 1 } |