You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
37 lines
998 B
37 lines
998 B
#!/system/bin/sh |
|
|
|
umask 077 |
|
|
|
# DEBUG=1 |
|
|
|
DSA_KEY=/data/ssh/ssh_host_dsa_key |
|
DSA_PUB_KEY=/data/ssh/ssh_host_dsa_key.pub |
|
RSA_KEY=/data/ssh/ssh_host_rsa_key |
|
RSA_PUB_KEY=/data/ssh/ssh_host_rsa_key.pub |
|
AUTHORIZED_KEYS=/data/ssh/authorized_keys |
|
DEFAULT_AUTHORIZED_KEYS=/system/etc/security/authorized_keys.default |
|
|
|
if [ ! -f $DSA_KEY ]; then |
|
/system/bin/ssh-keygen -t dsa -f $DSA_KEY -N "" |
|
chmod 600 /$DSA_KEY |
|
chmod 644 $DSA_PUB_KEY |
|
fi |
|
|
|
if [ ! -f $RSA_KEY ]; then |
|
/system/bin/ssh-keygen -t rsa -f $RSA_KEY -N "" |
|
chmod 600 /$RSA_KEY |
|
chmod 644 $RSA_PUB_KEY |
|
fi |
|
|
|
if [[ ! -f $AUTHORIZED_KEYS && -f $DEFAULT_AUTHORIZED_KEYS ]]; then |
|
cat $DEFAULT_AUTHORIZED_KEYS > $AUTHORIZED_KEYS |
|
fi |
|
|
|
|
|
if [ "1" == "$DEBUG" ] ; then |
|
# run sshd in debug mode and capture output to logcat |
|
/system/bin/logwrapper /system/bin/sshd -f /system/etc/ssh/sshd_config -D -d |
|
else |
|
# don't daemonize - otherwise we can't stop the sshd service |
|
/system/bin/sshd -f /system/etc/ssh/sshd_config -D |
|
fi
|
|
|