22 lines
		
	
	
		
			641 B
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			22 lines
		
	
	
		
			641 B
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
#!/bin/bash
 | 
						|
 | 
						|
# File: gen-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
 |