This project visualizes SSH trust relationships between machines and public keys.
The app reads two directories:
authorized_keys/: one file per machine, containing the public keys that are allowed to log into that machine.publicssh_keys/: one file per machine, containing that machine's own public SSH key.
The graph is built like this:
- each file in
authorized_keys/represents one machine - each public key line inside that file becomes an authorized-key node
- an edge is drawn from the authorized key to the machine it can access
- if a matching file exists in
publicssh_keys/, the machine node is identified by its own public key so machine-to-machine trust can be recognized
publicssh_keys/ is therefore not just cosmetic. It helps the app detect when an authorized key actually belongs to another machine, instead of treating it as an unrelated key.
docker compose build
docker compose up