22 lines
		
	
	
		
			641 B
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
		
		
			
		
	
	
			22 lines
		
	
	
		
			641 B
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| 
								 | 
							
								#!/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
							 |