# $Header: /home/cvsd/alx-cvs/alx-src/alxconfig-ng/functions/config_ssh_auth.sh,v 1.1 2005-04-14 19:13:04 niro Exp $ # exchanges the public server and client ssh keys gen_keys() { if [ ! -e /etc/ssh/ssh_host_key ] then echo -e ${COLOREDSTAR}"Generating SSH-Hostkey ..." /usr/bin/ssh-keygen -t rsa1 -b 1024 -f /etc/ssh/ssh_host_key -N '' fi if [ ! -e /etc/ssh/ssh_host_dsa_key ] then echo -e ${COLREDSTAR}"Generating DSA-Hostkey ..." /usr/bin/ssh-keygen -d -f /etc/ssh/ssh_host_dsa_key -N '' fi if [ ! -e /etc/ssh/ssh_host_rsa_key ] then echo -e ${COLOREDSTAR}"Generating RSA-Hostkey ..." /usr/bin/ssh-keygen -t rsa -f /etc/ssh/ssh_host_rsa_key -N '' fi } config_ssh_auth() { # generate evtually missing keys gen_keys # write the public key of the server to the host system PUB_KEY_SERVER="$(mysql_command ${SQL_USER} ${SQL_PASS} ${SQL_HOST} ${SQL_DB} \ "select public_key from ssh_auth_server where id=1;")" if [ -n "${PUB_KEY_SERVER}" ] then # 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=$(mysql_command ${SQL_USER} ${SQL_PASS} ${SQL_HOST} ${SQL_DB} \ "select serial from ssh_auth_clients where serial=${ALX_SERIAL};") if [ -n "${ID}" ] then #run an update mysql_command ${SQL_USER} ${SQL_PASS} ${SQL_HOST} ${SQL_DB} \ "update ssh_auth_clients set public_key='$(< /etc/ssh/ssh_host_rsa_key.pub)' where serial=${ALX_SERIAL};" else #run an insert mysql_command ${SQL_USER} ${SQL_PASS} ${SQL_HOST} ${SQL_DB} \ "insert into ssh_auth_clients(serial,public_key) values('${ALX_SERIAL}','$(< /etc/ssh/ssh_host_rsa_key.pub)')" fi }