Last active
November 3, 2017 16:20
-
-
Save blzzua/fca6d913cb809b60c724a4dedcd699d7 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
IP=$1 | |
# проверить является ли IP - адресом/хостом с портом. [127.0.0.1]:21212 | |
ISPORT=$(expr match "$IP" '\[.*]\:[0-9]\{1,5\}') | |
if [[ ISPORT -gt 0 ]]; | |
then | |
echo "$IP не является ip-адресом. поиск и замена таких адресов пока не реализован" | |
exit 0 | |
fi | |
ssh-keygen -F ${IP} | while read ip keytype key junk | |
do | |
if [[ ! "$IP" == "$ip" ]] ; then | |
# пропускаем случаи, когда полученное знаениие не является чистым айпишников. закомментированный, или хостнейм, или с портом. | |
continue | |
fi | |
# get fingerprint from host. get fingerprint from variable | |
# echo "$ip $keytype $key" > /dev/shm/kt | |
# ssh-keygen -l -E sha256 -f /dev/shm/kt | |
K_FROM_HOST=$( ssh-keyscan -t rsa $IP | awk '{if ($2 == "ssh-rsa" ) {print $3}}' ) | |
K_FROM_FILE="$key" | |
#' | |
# сравнить. если они разные - удалить. ssk-keygen -R $IP | |
if [[ ! "$K_FROM_HOST" == $K_FROM_FILE ]] ; | |
then | |
echo replace fingerprint for ip $IP | |
ssh-keygen -R $IP | |
ssh -o StrictHostKeyChecking=no -o PubkeyAuthentication=yes -o PasswordAuthentication=no $IP echo ok | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment