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)
|