# $Id$ # exchanges the public server and client ssh keys gen_keys() { if [ ! -e /etc/dropbear/dropbear_dss_host_key ] then echo -e ${COLOREDSTAR}"Generating DSS-Hostkey ..." /usr/bin/dropbearkey -t dss -f /etc/dropbear/dropbear_dss_host_key fi if [ ! -e /etc/dropbear/dropbear_rsa_host_key ] then echo -e ${COLOREDSTAR}"Generating RSA-Hostkey ..." /usr/bin/dropbearkey -t rsa -f /etc/dropbear/dropbear_rsa_host_key fi if [ ! -e /etc/dropbear/dropbear_rsa_host_key.pub ] then echo -e ${COLOREDSTAR}"Generating Public RSA-Hostkey ..." # note: the key is stored in the second line of the output /usr/bin/dropbearkey -y -f /etc/dropbear/dropbear_rsa_host_key | sed -n '2p' \ > /etc/dropbear/dropbear_rsa_host_key.pub fi } config_ssh_auth() { local PUB_KEY_SERVER local ID # generate evtually missing keys gen_keys # write the public key of the server to the host system PUB_KEY_SERVER="$(mysqldo "select public_key from ssh_auth_server where id=1;")" if [[ -n ${PUB_KEY_SERVER} ]] then HOME=/root # only if not empty [ ! -d $HOME/.ssh ] && install -d $HOME/.ssh echo "${PUB_KEY_SERVER}" > $HOME/.ssh/authorized_keys fi # put the public key of the host into the db ID=$(mysqldo "select serial from ssh_auth_clients where serial=${ALX_SERIAL};") if [[ -n ${ID} ]] then # run an update mysqldo "update ssh_auth_clients set public_key='$(< /etc/dropbear/dropbear_rsa_host_key.pub)' where serial=${ALX_SERIAL};" else # run an insert mysqldo "insert into ssh_auth_clients(serial,public_key) values('${ALX_SERIAL}','$(< /etc/dropbear/dropbear_rsa_host_key.pub)')" fi }