Uncomment things from update-hosts.yml
[public/csc-playbooks.git] / generate-fingerprints
1 #!/bin/bash
2
3 echo '<?xml version="1.0"?>'
4 echo '<!DOCTYPE cscpage SYSTEM "../csc.dtd">'
5 echo '<cscpage title="SSH Key Fingerprints">'
6 echo '<header />'
7 echo '<section title="Machine SSH Key Fingerprints">'
8
9 echo '<table>'
10 echo '<tr>'
11 echo '<th>Machine Name</th>'
12 echo '<th>Key Type</th>'
13 echo '<th>Fingerprint</th>'
14 echo '</tr>'
15
16 for host in $(ls fingerprints | egrep -oh '[^_]+' | egrep -v '.pub' | sort -u )
17 do
18    for ktype in rsa ed25519
19    do
20       none=0
21       sha256=$(ssh-keygen -lE sha256 -f fingerprints/${host}_${ktype}.pub)
22       md5=$(ssh-keygen -lE md5 -f fingerprints/${host}_${ktype}.pub)
23
24       if [ ! $? -eq 0 ]
25       then
26          none=1
27       fi
28
29       echo '<tr>'
30       echo '<td>' ${host} '</td>'
31       echo '<td>' ${ktype} '</td>'
32
33       if [ ${none} -eq 0 ]
34       then
35          echo '<td><pre>'
36          echo $(echo ${sha256} | awk '{print $2}')
37          echo $(echo ${md5} | awk '{print $2}')
38          echo '</pre></td>'
39       else
40          echo '<td><pre>(none)</pre></td>'
41       fi
42
43       echo '</tr>'
44    done
45 done
46 echo '</table>'
47
48 echo '</section>'
49 echo '<footer />'
50 echo '</cscpage>'