#!/bin/sh # # /usr/local/bin/ORCpullkey # # arg 1 is the key to remove # # Copyright (c) 2000 Owl River Company # info@owlriver.com # 614 - 488 6954 # # ALWAYS licensed, Never sold # Unauthorized reproduction prohibited # # VER="0.10-010428" # # rev 010823 RPH 0.11 - explicit PATH # rev 010428 RPH 0.10 - THISHOST fixup # rev 010326 RPH 0.09 - Add a Usage option # rev 010307 RPH 0.08 - Change warn into an option # rev 010131 RPH 0.07 - better error and warning messages # rev 010124 RPH 0.06 - add hosts2 support # rev 001118 RPH 0.05 - add host key pull on case insensitive basis # rev 001115 RPH 0.04 - openssh rollin support # rev 001114 RPH 0.03 - enhance robustness on file presence # rev 001101 RPH 0.02 - fix remote path issues # PATH="/sbin:/usr/sbin:/usr/local/sbin:/bin:/usr/bin:/usr/local/bin" MYNAME=`basename $0` THISHOST=`( hostname -s 2> /dev/null || hostname ) | tr -d " "OA` IAM=`id | awk {'print $1'} | awk -F "(" {'print $2'} | \ tr -d ")"` # # Options WARN="no" [ "x-w" = "x$1" ] && { export WARN="yes" shift 1 } # TARGKEY=$1 [ "x$TARGKEY" = "x" ] && { echo "Error: $MYNAME - No target key specified -- bailing " 1>&2 exit 1 } # [ "x$TARGKEY" = "x-h" ] && { echo "Usage: $MYNAME hostname " echo " -or- $MYNAME IP " echo " " echo " ... pulls the key for hostname or IP " exit 0 } # BAKFILE=known_hosts.bak TOFILE=known_hosts.tmp BAKFILE2=known_hosts2.bak TOFILE2=known_hosts2.tmp # cd cd .ssh [ -e known_hosts ] && { cp known_hosts $BAKFILE grep -v -i $TARGKEY known_hosts > $TOFILE cp $TOFILE known_hosts } || { [ "$WARN" = "yes" ] && { echo "Warning: $MYNAME - No 'known_hosts' found " } } touch known_hosts # [ -e known_hosts2 ] && { cp known_hosts2 $BAKFILE2 grep -v -i $TARGKEY $BAKFILE2 > $TOFILE2 cp $TOFILE2 known_hosts2 } || { [ "$WARN" = "yes" ] && { echo "Warning: $MYNAME - No 'known_hosts2' found " } } touch known_hosts2 # # chmod 755 known_hosts* # # #