# Copy and/or append this file to your ~/.ssh/config file so enable ssh'ing to
# devices in the skolo.

# First give nice names to the skolo jumphosts.
Host rack1
  Hostname 100.115.95.143
  ProxyCommand corp-ssh-helper %h %p

Host rack2
  Hostname 100.115.95.133
  ProxyCommand corp-ssh-helper %h %p

Host rack3
  Hostname 100.115.95.134
  ProxyCommand corp-ssh-helper %h %p

Host rack4
  Hostname 100.115.95.135
  ProxyCommand corp-ssh-helper %h %p

# The rack formerly known as "internal1".
Host rack5
  Hostname 100.115.95.131
  ProxyCommand corp-ssh-helper %h %p

# Now define which jumphost to use when attaching to machines in the skolo.
Match host skia-rpi-*
  Hostname %h
  ProxyJump chrome-bot@rack1:22

Match host skia-e-*-1*
  Hostname %h
  ProxyJump chrome-bot@rack1:22

Match host skia-e-*-2*
  Hostname %h
  ProxyJump chrome-bot@rack2:22

Match host skia-e-*-3*
  Hostname %h
  ProxyJump chrome-bot@rack3:22

Match host skia-rpi2-rack4-*
  Hostname %h
  ProxyJump chrome-bot@rack4:22

Match host skia-rpi2-rack1-*
  Hostname %h
  ProxyJump chrome-bot@rack1:22

Match host skia-i-*
  Hostname %h
  ProxyJump chrome-bot@rack5:22

# Routers
Host router-rack1
  Hostname 192.168.1.1
  ProxyJump chrome-bot@rack1:22

Host router-rack2
  Hostname 192.168.1.1
  ProxyJump chrome-bot@rack2:22

Host router-rack3
  Hostname 192.168.1.1
  ProxyJump chrome-bot@rack3:22

Host router-rack4
  Hostname 192.168.1.1
  ProxyJump chrome-bot@rack4:22

Host router-rack5
  Hostname 192.168.1.1
  ProxyJump chrome-bot@rack5:22

# Switches
Host rack5-shelf*-poe-switch
  User ubnt
  ProxyJump chrome-bot@rack5:22

Host rack4-shelf*-poe-switch
  User ubnt
  ProxyJump chrome-bot@rack4:22

Host rack3-shelf*-poe-switch
  User ubnt
  ProxyJump chrome-bot@rack3:22

Host rack2-shelf*-poe-switch
  User ubnt
  ProxyJump chrome-bot@rack2:22

Host rack1-shelf*-poe-switch
  User ubnt
  ProxyJump chrome-bot@rack1:22


# Finally set config options for all of the hosts we've defined above.
Host router-*
  CanonicalizeHostname no
  User admin
  StrictHostKeyChecking no
  UserKnownHostsFile /dev/null

Host rack*
  ControlMaster auto
  Controlpath ~/.ssh/ssh-%C
  ControlPersist 30m
  CanonicalizeHostname no
  User chrome-bot
  StrictHostKeyChecking no
  UserKnownHostsFile /dev/null

Host skia-*
  ControlMaster auto
  Controlpath ~/.ssh/ssh-%C
  ControlPersist 30m
  CanonicalizeHostname no
  User chrome-bot
  StrictHostKeyChecking no
  UserKnownHostsFile /dev/null
