#!/usr/bin/python3 import argparse import yaml import subprocess import sys def public_key(hostname): p = subprocess.run( ["sshca", "host", "public-key", hostname], check=True, capture_output=True ) return p.stdout.decode().strip() def cert(ca, hostname): p = subprocess.run( ["sshca", "host", "certify", ca, hostname], check=True, capture_output=True ) return p.stdout.decode().strip() p = argparse.ArgumentParser() p.add_argument("--host", required=True) p.add_argument("--ca", required=True) args = p.parse_args() host_id = { "host_key": public_key(args.host), "host_cert": cert(args.ca, args.host), } yaml.dump(host_id, sys.stdout)