summaryrefslogtreecommitdiff
path: root/config/ssh/entry
diff options
context:
space:
mode:
Diffstat (limited to 'config/ssh/entry')
-rw-r--r--config/ssh/entry21
1 files changed, 21 insertions, 0 deletions
diff --git a/config/ssh/entry b/config/ssh/entry
new file mode 100644
index 0000000..e1b6994
--- /dev/null
+++ b/config/ssh/entry
@@ -0,0 +1,21 @@
+# ~/.ssh/config on every host, linked there by link/ssh.sh.
+#
+# It configures no hosts of its own. It only fixes the order the pieces are read
+# in, which matters because ssh keeps the FIRST value it obtains for a keyword:
+#
+# 1. ~/.config/ssh/config-fleet Host blocks another layer links in, shared by
+# a set of machines. First, so host-key pinning
+# there cannot be undone by anything read after
+# it.
+# 2. ~/.config/ssh/config-local This host only; not in any repo, never
+# synced. See config/ssh/config-local-example.
+# 3. Shared defaults, below Last, so either of the above can override them.
+#
+# Both includes are optional: ssh skips an Include that matches no file, so on a
+# machine with neither this file configures nothing at all. No key is named
+# anywhere; ssh's default ~/.ssh/id_ed25519 is whatever that machine installs.
+
+Include ~/.config/ssh/config-fleet
+Include ~/.config/ssh/config-local
+
+# Shared defaults for every host go here, under `Host *`. There are none yet.