# This authorized_keys files is used on all the jumphosts in the skolo.
# New entries should be of type ed25519 for improved readability of this file.
# The canonical version can be found at https://skia.googlesource.com/buildbot/+/refs/heads/master/skolo/authorized_keys
# Use the ansible scripts to push updated versions of this file to each jumphost:
#    $ cd skolo/ansible
#    $ ansible-playbook ./switchboard/update-authorized-keys.yml
#
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIAhuih+h6TmLaTQhcDJFr7QQZ2qgSvMX/S3ioBzJBRz1 sky@google.com
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIFBusE64Ssm52M+qV/e3GS+G0Z6EJGaXmVPevh9KV0sg jcgregorio@jcgregorio.c.googlers.com
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIE0S4oXR4Cx3gPN2JGeMcmGZNYjHvgyX5HyUvwgO4wy2 erikrose@erikrose-macbookpro.roam.corp.google.com
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIKyk7mbU2Bev1HYzvY2w087Y6mrUxfM7+Wp1PVTxsOtI johnstiles@google.com
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAINA5Xe8LJDQw7Wi3kBjXOqy3nkjQsRohNV9rKLaHkHOB jcgregorio@google.com
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIOqSiso1dXuUMiDsKn678w76+hueHEqD+2aobS9Nj84e kjlubick@google.com
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIJ/6LU2g7Eo4tzwe4JQ0S4OjbSH2LbT9r4gPoBHTFMEI borenet@avendesora
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIHXGFp/+DmXrW8OKJgCVvAccSbtXkXU0aBPGsVMzzKmU borenet@borenet0
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIDApYXYmKdsAaGEXTe+z2FSysFw4Ut/suAaUpmfxQTzH borenet@rhuidean.cnc.corp.google.com
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIHlur6Af0r+EJQS9+EfkBmSZvXonrVh4OXKr5OdIw0Hy armansito@armansito-macbookpro3.roam.internal
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIB5GWo54HKW3HNSJaI06Zh3dV3HzUU4g0SpsoXGxzSpB armansito@cloudfarts.c.googlers.com
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC15Zijil1o0/YRdi/KO95tYAOG3WqpgdnyXivPwn95dZ612G01qT3lb1pP41VQ1C8Kuup343A7kySYe/5taqRKTYmYfM09iuZpzJ/HoWos5JVdOmwjxT57Suyo/NF43Vu3aLukioaVfnOOcuoLbGdgTeCx4qregpMkJNw8Llvb3ePxneyj9zD7tcnTinoH5jsV7i72ncqLhJ5lQln+KFDTSRxLjamFKdFhU9gFiWnRJhzWtaoUblxlSsKJL65JNmwg0tH13Uj8xaYsG1geEP6/TcGcKEPVNxoIAS5dEE2HJnm6+VQHXa/4EZd3ZYpx+tZceYE+8rVb8DO/e4cQ/cP9 borenet@borenet0.cnc.corp.google.com
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCzbLuVSNK1kRFA7OYRjXI/pm08M593QgPd7JIDCcJPLPSqPzNNniSRHVlFwVV98KyuqwScb3xA5jdfkMjvzHwK1I7/ANQF6bxRoWizsCfRw94qdY3RR9kaXtADeHor+8pftJothYQq8K1vGuYkdBgnw9RK/TfnCold/0lI4nSKnyXHfuatgV+bImqPgYVjxi7LwxSlta08a2fGia7M+gLf+WvxsrkNQawvJ/lM127fYih0MK+qSE8SBaRsqnonc4hCd4e1iY+o1kNxoFfvQPzrAB82+37XS6eQlyvQbpig4zTCa4lWCOfM7Ad2Mu0H793mile/iyNGPwQ3JeYjE7aN lovisolo@google.com
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDBpfsym1NNk4i4NqeKcGy768/bu0ClXUzRedDoK5nj8dvASa+lg5d/vq1yd9gESjWJhcGI6xw8ooRE19h0xFqpriPtfyX7Aued/2u0yDKwXD/404Za7i+kTnEZ94TukkS+vp4rFEZZ0ZKl9CVvYPTL1X0ZcfMA+v9Kye9ps5iMEabGWWu8mlGLJ98rJHuqYfiGtiU6Bp0NqdvTmSF3oQn3DejcXIfYO8X/Nyq7Rn73ygEm2DlEoFeW/afupLnJ4/r0xYpO/LI+dWRsmNRKsNslm60E/+KMMpZONOvan0uLk57mTIPGMiBxyn07/bxad7yzPM2gBNpXUZ20Ml4lbp2b rmistry@rmistry1.cnc.corp.google.com
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDBXQu2fcQhmmQgD6w8w7IF4hokf/nElkX+SGiwmd7B1VjrOpGYI+079J/LoMVVs8AHkAPJKwsaPdCEiiVI/9njRDbvF4mxDHMlFd8/ctNpMTGHf6ujWXOk+vHGwDrFsCPiPJBc5hsYMnOc7T/qFbnxhzjWt/xMCDoCsMjzdBgJUJYv37PvvGD/Q33l+C6hqyVXAQ381yVABbqDvsaXzmmr6nzzDrdEDc6SVLlYa7yjI07CNKIhc7/gyghHqeSbQ7zVLHya5sFhFyJDgLebKStE1uAQPIewqB8QNbv12smmyh429T6c1Wt9gyh5CSpUdnqMk5m6ORDKKUNRcGctkI8t egdaniel@egdaniel2.cnc.corp.google.com
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDeEHMk6PK+uhA0F7d+TzGbuiYubPVjEk8o7nQ1vZzoiQtWs2tep+yRILB3auWEYEgGnuex4axh5YXnOguWLLUiIgpDAVwWFOjyQQfTcDGcpABeoVN8tJToRh6vTIdp4CqqMAaa3DuMZA4Ca2Zsmq4lMt29Jcr/EWyWoK/HeK+0+8K1E2EMPHzu/H8atJzVyxaw9XIF4O9jslPHglIXkO3almwX+q4QFRkcE6ls0DkTmBq2pWcpdChHXnFgTufQ5mgENnOGtbkGCKTlF9vmxta8Ym9xCSB3mQydWijCtaHxXfZLUZeTfC/InChQMQTvIuxttkqT079YjXZWzgSSMfrd bsheedy@bsheedy-linux.kir.corp.google.com
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDG6+8JEDFVEqNTB+sauO7pYT4AdiGbXp8GEIsfMl9sLEcQU9kIW1AyaUdlobonUm+dG/ZkCm7mHnV0OGbjr/fQ9BDdotdQWT6mgSaW6+QzpWZddcSzRMdO9nRC3OhP9FWnWpT9jWKEot90RvZn+67oDpCWh0jJ08R3gVhH0ognAfW5VdwCUdt+3R4NDgyhSiL2oMdO/JlkYDZakJDwQ9t+66yIaxrhEX0zzv8dMhrelBn3R8GF6hR33N9v4T28NortB/wf7IrjYnhzD9J1qjeS26DGi36kdWiHE8XmJI5YxevlYWozgivE+2K9qvWQQOLbNegI/mxBTnBbfXwOLS3d bsalomon@bsalomon-linux3.cnc.corp.google.com
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDq95ssw4BJuafu+BsdZhuyi3wLduLAtPFBKxIm30/0IEhsUSF8Jl4WGIwi7f6enltL4/7OPM9hM0mMzw7AnKS9kzUrO7GCqkAjvYVpZl8VZTQ0MeNVbwekiI5fb36iF7GeNUB26DRMpHdcK8VphqEXTED+6LcjKrllbQEwNSTo5h1GtRWpivBXg8aaJwtPSs4Q3vI056i9kUN8loaWiUmXH6pXakAh5nZIXTRiqru3RgDPIimz5AjJLwnJiTuFSn9xAWXW4lpx8sVPDnOfCdbXWLMsIFkdi62qIhAEirym5U644hgU9dlK/G6kobZNi9GvT1CFo+0N3xzKoxDUrQ2L borenet@borenet0.cnc.corp.google.com
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQCnhJNO5NPH4vtwru7xicmXd/KgyTLJngjFKcCrzB0JwvINXvC4DNQJ1FOLFMKJmGcvlTOht2/80xNFazg3UIka/xSttP2CsYO5+8JZQEcnvG2fOOx9dZPIJGsZfcU4A2JEzng3VPI1jjjTcDfahk9XjRC5xuXqtjHuUepCO4e4HWj81Tljv+JXtPldQVMkaRwFvvzO/RLHVW3X48GIJZ3VrtGGpg2BX250ickFQ4EcIca6uy7hic3lOwJ+zq8yaYd8PSN5BaHNfMFVCH1Fm21zTdt+JuqPT0hf6sBccMx/vP3+Pz40DUuFAuvoCFl3bBfDbU0MvCGowbPmdym2weCgpcQKctqBb53TYKO3eUmD38AZ3H51csiCVrsjousOxepWpK9H55rYBrDA2lIHHQjeZoXI5uTby8ZktffgOJAD27X13KRW5G7B8CLheXzKqxFq3vn2A6nRiMi6tPr/BUQedyzyfIpA2etpiYxgSn7dY6Mg9OuowHbIwYae4sTRMYZ0dC2G6kMPW+BFr1OgMWF7giuK/J3NdNA9GtiNhT8toXpAz2p4Px2cpHoi958bqM6m6JbTIFYeBYPNqua0kDwse0mn128s1V4ZPsPQEVrllNl8a1vHmV40Ile3+2E98gbpYRYsaRAvXCbmiHQipHebnXxfbLr/nVypoTw+U6r/5w== michaelludwig@google.com
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIKCOyuUzRvZ8avHlZCA79aA/ulvD5/TgcxJvFxRQ9fE1 wrightgeorge@wrightgeorge-macbookpro.roam.internal
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIPsTUhUJXPT/QS/2wiPAi5P3mSPZhgIeSE3p+Yb/0WLe kjlubick@cloudtop
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAID8cACLXaD27bh1t1XEWeKFJBdlHT6uehZhZrz55EQF8 cmumford@google.com
