22 lines
648 B
Bash
Executable File
22 lines
648 B
Bash
Executable File
#!/bin/bash
|
|
|
|
# File: ./generate-ssh-keyscan
|
|
#
|
|
# Description: This file generates a known_host block for the inventory.
|
|
#
|
|
# Package: AniNIX/HelloWorld
|
|
# Copyright: WTFPL
|
|
#
|
|
# Author: DarkFeather <ircs://aninix.net:6697/DarkFeather>
|
|
|
|
inventory="$1"
|
|
|
|
replicadomain="$(grep replica_domain:\ "$inventory" | awk '{ print $2; }';)"
|
|
|
|
for short in `ansible -i "$inventory" --list-hosts managed | grep -v hosts | sed 's/^\s\+//'`; do
|
|
long="$short"'.'"$replicadomain"
|
|
ip="$(dig "$long" +short)"
|
|
ssh-keyscan -t ed25519 -f <(echo "$long" "$long","$short","$ip") 2>&1
|
|
ssh-keyscan -t rsa -f <(echo "$long" "$long","$short","$ip") 2>/dev/null
|
|
done
|