iron.git

ref: e3efa8e5f383bb6a166ebbe38687a8de3a2488fe

iron/libexec/iron/iron-ssh-user


#! /bin/bash
# Usage: $iron ssh-user   
# Summary: create ssh CAs for hosts and users
# Help: This command groups commands used to setup config create an ssh CA

APPNAME="iron"
CURRDIR=$(pwd)

RCDIR=$HOME/.$APPNAME/ssh
test -d $RCDIR || mkdir -p $RCDIR
CURRENT_TSTAMP=$(date '+%Y%m%d%H%M')

if [ "$#" = 3 ];then
  username=$1
  hostname=$2
  accounts_list=$3
  
  #hostname_dir=$RCDIR/hosts/${hostname}
  #test -d ${hostname_dir} || mkdir -p ${hostname_dir}
  user_dir=$RCDIR/users/${username}
  test -d ${user_dir} || mkdir -p ${user_dir}

  email="${username}@${hostname}"
  keyname="${username}"
  keyname_public="${username}.pub"
  user_ca="${username}-user-ca"

  ssh-keygen -f ${user_dir}/${keyname} -b 4096 -t rsa
  ssh-keygen -s ${user_dir}/$user_ca -I ${email} -n "${accounts_list}" -V +1d ${user_dir}/${keyname_public}
  
  exit 0
  
  echo "Usage: iron ssh-user   "
  exit -1
fi

echo "Usage: iron ssh-user   "
exit -1