aboutsummaryrefslogtreecommitdiffstats
path: root/framework/src/onos/tools/test/bin/onos-push-keys
diff options
context:
space:
mode:
Diffstat (limited to 'framework/src/onos/tools/test/bin/onos-push-keys')
-rwxr-xr-xframework/src/onos/tools/test/bin/onos-push-keys19
1 files changed, 19 insertions, 0 deletions
diff --git a/framework/src/onos/tools/test/bin/onos-push-keys b/framework/src/onos/tools/test/bin/onos-push-keys
new file mode 100755
index 00000000..94da6998
--- /dev/null
+++ b/framework/src/onos/tools/test/bin/onos-push-keys
@@ -0,0 +1,19 @@
+#!/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