onos-push-keys 710 Bytes
#!/bin/bash
# -----------------------------------------------------------------------------
# Pushes the local id_rsa.pub to the authorized_keys on a remote ONOS node.
# -----------------------------------------------------------------------------

[ ! -d "$ONOS_ROOT" ] && echo "ONOS_ROOT is not defined" >&2 && exit 1
. $ONOS_ROOT/tools/build/envDefaults

remote=$ONOS_USER@${1:-$OCI}

cat ~/.ssh/id_rsa.pub | ssh $remote "
    mkdir -p ~/.ssh
    chmod 700 ~/.ssh
    cat >> ~/.ssh/authorized_keys
    sort -u ~/.ssh/authorized_keys > ~/.ssh/authorized_keys.bak
    mv ~/.ssh/authorized_keys.bak ~/.ssh/authorized_keys
    chmod 600 ~/.ssh/authorized_keys
"
ssh -n -o PasswordAuthentication=no $remote true