#!/bin/bash # ----------------------------------------------------------------------------- # Enables secure access to ONOS console by removing default users & keys. # ----------------------------------------------------------------------------- rm -f $(dirname $0)/onos set -e # Scan arguments for user/password or other options... while getopts u:p: o; do case "$o" in u) user=$OPTARG;; p) password=$OPTARG;; esac done password=${password:-$user} # password defaults to the user if not specified let OPC=$OPTIND-1 shift $OPC cd $(dirname $0)/../apache-karaf-*/etc USERS=users.properties KEYS=keys.properties # Remove the built-in users and keys to secure the access implicitly. egrep -v "^(karaf|onos)[ ]*=" $USERS > $USERS.new && mv $USERS.new $USERS egrep -v "^(#karaf|onos)[ ]*=" $KEYS > $KEYS.new && mv $KEYS.new $KEYS # Remove any previous known keys for the local host. ssh-keygen -f "$HOME/.ssh/known_hosts" -R [localhost]:8101 # Swap the onos client to use the SSH variant. ln -s $(dirname $0)/onos-ssh $(dirname $0)/onos # If user and password options were given, setup the user/password. if [ -n "$user" -a -n "$password" ]; then echo "$user = $password,_g_:admingroup" >> $USERS fi