#!/bin/bash HOST="" while [ -z "$HOST" ]; do echo -ne "\nWhich host are we generating a key for: " read HOST done REVHOST=`host $HOST | sed -e "s/$HOST.* has address //g"` echo -ne "\nWhat IP address should be allowed to log in with this key?" echo -ne "\n[$REVHOST] " read IP if [ -z "$IP" ]; then IP="$REVHOST"; fi ssh-keygen -t dsa -N "" -C "Rsync Snapshot Backup Auto-Login for $HOST" -f "$HOST"_rsync_snapshot_autologin echo "command=\"sudo /usr/local/bin/rsync_snapshot_receiver snapshot_configs/$HOST.conf\",from=\"$IP\",no-port-forwarding,no-X11-forwarding,no-agent-forwarding,no-pty" `cat "$HOST"_rsync_snapshot_autologin.pub` >> ~/.ssh/authorized_keys && rm -f "$HOST"_rsync_snapshot_autologin.pub echo -ne "\nCreated new DSA keypair, and added public key to "`whoami`"'s keyring." echo -ne "\nYou should copy the keyfile ${HOST}_rsync_snapshot_autologin" echo -ne "\nto the machine that will be backing up to this account.\n\n";