1f7fc46c63fdc8f39234fea409b8dbe116d73ebf8The Android Open Source Project#!/bin/sh 2f7fc46c63fdc8f39234fea409b8dbe116d73ebf8The Android Open Source Projectset -e 3f7fc46c63fdc8f39234fea409b8dbe116d73ebf8The Android Open Source Project 4f7fc46c63fdc8f39234fea409b8dbe116d73ebf8The Android Open Source Projecttest "$1" = 'configure' || exit 0 5f7fc46c63fdc8f39234fea409b8dbe116d73ebf8The Android Open Source Project 6f7fc46c63fdc8f39234fea409b8dbe116d73ebf8The Android Open Source Projectif test ! -e /etc/dropbear/dropbear_rsa_host_key; then 7f7fc46c63fdc8f39234fea409b8dbe116d73ebf8The Android Open Source Project if test -f /etc/ssh/ssh_host_rsa_key; then 8f7fc46c63fdc8f39234fea409b8dbe116d73ebf8The Android Open Source Project echo "Converting existing OpenSSH RSA host key to Dropbear format." 9f7fc46c63fdc8f39234fea409b8dbe116d73ebf8The Android Open Source Project /usr/lib/dropbear/dropbearconvert openssh dropbear \ 10f7fc46c63fdc8f39234fea409b8dbe116d73ebf8The Android Open Source Project /etc/ssh/ssh_host_rsa_key /etc/dropbear/dropbear_rsa_host_key 11f7fc46c63fdc8f39234fea409b8dbe116d73ebf8The Android Open Source Project else 12f7fc46c63fdc8f39234fea409b8dbe116d73ebf8The Android Open Source Project echo "Generating Dropbear RSA key. Please wait." 13f7fc46c63fdc8f39234fea409b8dbe116d73ebf8The Android Open Source Project dropbearkey -t rsa -f /etc/dropbear/dropbear_rsa_host_key 14f7fc46c63fdc8f39234fea409b8dbe116d73ebf8The Android Open Source Project fi 15f7fc46c63fdc8f39234fea409b8dbe116d73ebf8The Android Open Source Projectfi 16f7fc46c63fdc8f39234fea409b8dbe116d73ebf8The Android Open Source Projectif test ! -e /etc/dropbear/dropbear_dss_host_key; then 17f7fc46c63fdc8f39234fea409b8dbe116d73ebf8The Android Open Source Project if test -f /etc/ssh/ssh_host_dsa_key; then 18f7fc46c63fdc8f39234fea409b8dbe116d73ebf8The Android Open Source Project echo "Converting existing OpenSSH RSA host key to Dropbear format." 19f7fc46c63fdc8f39234fea409b8dbe116d73ebf8The Android Open Source Project /usr/lib/dropbear/dropbearconvert openssh dropbear \ 20f7fc46c63fdc8f39234fea409b8dbe116d73ebf8The Android Open Source Project /etc/ssh/ssh_host_dsa_key /etc/dropbear/dropbear_dss_host_key 21f7fc46c63fdc8f39234fea409b8dbe116d73ebf8The Android Open Source Project else 22f7fc46c63fdc8f39234fea409b8dbe116d73ebf8The Android Open Source Project echo "Generating Dropbear DSS key. Please wait." 23f7fc46c63fdc8f39234fea409b8dbe116d73ebf8The Android Open Source Project dropbearkey -t dss -f /etc/dropbear/dropbear_dss_host_key 24f7fc46c63fdc8f39234fea409b8dbe116d73ebf8The Android Open Source Project fi 25f7fc46c63fdc8f39234fea409b8dbe116d73ebf8The Android Open Source Projectfi 26f7fc46c63fdc8f39234fea409b8dbe116d73ebf8The Android Open Source Projectif test ! -s /etc/default/dropbear; then 27f7fc46c63fdc8f39234fea409b8dbe116d73ebf8The Android Open Source Project # check whether OpenSSH seems to be installed. 28f7fc46c63fdc8f39234fea409b8dbe116d73ebf8The Android Open Source Project if test -x /usr/sbin/sshd; then 29f7fc46c63fdc8f39234fea409b8dbe116d73ebf8The Android Open Source Project cat <<EOT 30f7fc46c63fdc8f39234fea409b8dbe116d73ebf8The Android Open Source ProjectOpenSSH appears to be installed. Setting /etc/default/dropbear so that 31f7fc46c63fdc8f39234fea409b8dbe116d73ebf8The Android Open Source ProjectDropbear will not start by default. Edit this file to change this behaviour. 32f7fc46c63fdc8f39234fea409b8dbe116d73ebf8The Android Open Source Project 33f7fc46c63fdc8f39234fea409b8dbe116d73ebf8The Android Open Source ProjectEOT 34f7fc46c63fdc8f39234fea409b8dbe116d73ebf8The Android Open Source Project cat >>/etc/default/dropbear <<EOT 35f7fc46c63fdc8f39234fea409b8dbe116d73ebf8The Android Open Source Project# disabled because OpenSSH is installed 36f7fc46c63fdc8f39234fea409b8dbe116d73ebf8The Android Open Source Project# change to NO_START=0 to enable Dropbear 37f7fc46c63fdc8f39234fea409b8dbe116d73ebf8The Android Open Source ProjectNO_START=1 38f7fc46c63fdc8f39234fea409b8dbe116d73ebf8The Android Open Source Project 39f7fc46c63fdc8f39234fea409b8dbe116d73ebf8The Android Open Source ProjectEOT 40f7fc46c63fdc8f39234fea409b8dbe116d73ebf8The Android Open Source Project fi 41f7fc46c63fdc8f39234fea409b8dbe116d73ebf8The Android Open Source Project cat >>/etc/default/dropbear <<EOT 42f7fc46c63fdc8f39234fea409b8dbe116d73ebf8The Android Open Source Project# the TCP port that Dropbear listens on 43f7fc46c63fdc8f39234fea409b8dbe116d73ebf8The Android Open Source ProjectDROPBEAR_PORT=22 44f7fc46c63fdc8f39234fea409b8dbe116d73ebf8The Android Open Source Project 45f7fc46c63fdc8f39234fea409b8dbe116d73ebf8The Android Open Source Project# any additional arguments for Dropbear 46f7fc46c63fdc8f39234fea409b8dbe116d73ebf8The Android Open Source ProjectDROPBEAR_EXTRA_ARGS= 47f7fc46c63fdc8f39234fea409b8dbe116d73ebf8The Android Open Source Project 48f7fc46c63fdc8f39234fea409b8dbe116d73ebf8The Android Open Source Project# specify an optional banner file containing a message to be 49f7fc46c63fdc8f39234fea409b8dbe116d73ebf8The Android Open Source Project# sent to clients before they connect, such as "/etc/issue.net" 50f7fc46c63fdc8f39234fea409b8dbe116d73ebf8The Android Open Source ProjectDROPBEAR_BANNER="" 51f7fc46c63fdc8f39234fea409b8dbe116d73ebf8The Android Open Source Project 52f7fc46c63fdc8f39234fea409b8dbe116d73ebf8The Android Open Source Project# RSA hostkey file (default: /etc/dropbear/dropbear_rsa_host_key) 53f7fc46c63fdc8f39234fea409b8dbe116d73ebf8The Android Open Source Project#DROPBEAR_RSAKEY="/etc/dropbear/dropbear_rsa_host_key" 54f7fc46c63fdc8f39234fea409b8dbe116d73ebf8The Android Open Source Project 55f7fc46c63fdc8f39234fea409b8dbe116d73ebf8The Android Open Source Project# DSS hostkey file (default: /etc/dropbear/dropbear_dss_host_key) 56f7fc46c63fdc8f39234fea409b8dbe116d73ebf8The Android Open Source Project#DROPBEAR_DSSKEY="/etc/dropbear/dropbear_dss_host_key" 57f7fc46c63fdc8f39234fea409b8dbe116d73ebf8The Android Open Source ProjectEOT 58f7fc46c63fdc8f39234fea409b8dbe116d73ebf8The Android Open Source Projectfi 59f7fc46c63fdc8f39234fea409b8dbe116d73ebf8The Android Open Source Project 60f7fc46c63fdc8f39234fea409b8dbe116d73ebf8The Android Open Source Projectif test -x /etc/init.d/dropbear; then 61f7fc46c63fdc8f39234fea409b8dbe116d73ebf8The Android Open Source Project update-rc.d dropbear defaults >/dev/null 62f7fc46c63fdc8f39234fea409b8dbe116d73ebf8The Android Open Source Project if test -x /usr/sbin/invoke-rc.d; then 63f7fc46c63fdc8f39234fea409b8dbe116d73ebf8The Android Open Source Project invoke-rc.d dropbear restart 64f7fc46c63fdc8f39234fea409b8dbe116d73ebf8The Android Open Source Project else 65f7fc46c63fdc8f39234fea409b8dbe116d73ebf8The Android Open Source Project /etc/init.d/dropbear restart 66f7fc46c63fdc8f39234fea409b8dbe116d73ebf8The Android Open Source Project fi 67f7fc46c63fdc8f39234fea409b8dbe116d73ebf8The Android Open Source Projectfi 68