# Universal Settings
Protocol 2

# Permit Local Overrides
Include ~/.ssh/config.d/*

# SSH known host hashing doesn't buy much with shell history, etc.
HashKnownHosts no

# Enable canonicalization, unless overridden
CanonicalizeHostname        yes
CanonicalizeFallbackLocal   yes
CanonicalDomains            systemoverlord.com
CanonicalizeMaxDots         0

# Identity files
IdentityFile ~/.ssh/id_ed25519_sk
IdentityFile ~/.ssh/id_ecdsa_sk
IdentityFile ~/.ssh/id_ed25519
IdentityFile ~/.ssh/id_ecdsa
IdentityFile ~/.ssh/id_rsa

Host *.cloudshell.dev
  # Cloudshell hostnames are too long for unix sockets
  ControlMaster no

Match exec "test -d \"$XDG_RUNTIME_DIR\" && mkdir -p $XDG_RUNTIME_DIR/sshsock" final
  ControlPath ${XDG_RUNTIME_DIR}/sshsock/%C

# Anything set earlier will take precedence, so these are defaults
Match final
  CheckHostIP                 no
  ControlMaster               auto
  ControlPath                 ~/.ssh/master/%r@%h:%p
  ControlPersist              yes
  ForwardAgent                no
  ForwardX11                  no
  ForwardX11Trusted           no
  ServerAliveInterval         30
  ServerAliveCountMax         3
  UpdateHostKeys              yes
  User                        david
  VerifyHostKeyDNS            yes
