#! /bin/sh
#
# $Id: ssh-host-keygen,v 1.3 2008/11/03 09:16:01 djm Exp $
#
# This script is normally run only *once* for a given host
# (in a given period of time) -- on updates/upgrades/recovery
# the ssh_host_key* files _should_ be retained! Otherwise false
# "man-in-the-middle-attack" alerts will frighten unsuspecting
# clients...

keydir=@sysconfdir@
keygen=@sshkeygen@

if [ -f $keydir/ssh_host_key -o \
	     -f $keydir/ssh_host_key.pub ]; then
  echo "You already have an SSH1 RSA host key in $keydir/ssh_host_key."
else
  echo "Generating SSH1 RSA host key."
  $keygen -t rsa1 -f $keydir/ssh_host_key -C '' -N ''
fi

if [ -f $keydir/ssh_host_rsa_key -o \
	     -f $keydir/ssh_host_rsa_key.pub ]; then
  echo "You already have an SSH2 RSA host key in $keydir/ssh_host_rsa_key."
else
  echo "Generating SSH2 RSA host key."
  $keygen -t rsa -f $keydir/ssh_host_rsa_key -C '' -N ''
fi

if [ -f $keydir/ssh_host_dsa_key -o \
	     -f $keydir/ssh_host_dsa_key.pub ]; then
  echo "You already have an SSH2 DSA host key in $keydir/ssh_host_dsa_key."
else
  echo "Generating SSH2 DSA host key."
  $keygen -t dsa -f $keydir/ssh_host_dsa_key -C '' -N ''
fi
