summaryrefslogtreecommitdiff
path: root/create-host-id
blob: 2c5748b328e3b5382c1e4907c4b701dc46137229 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
#!/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)