Compare commits

...

No commits in common. "master" and "v2-neotame-mannitol" have entirely different histories.

177 changed files with 2349 additions and 2893 deletions

View File

@ -1,3 +0,0 @@
skip_list:
- yaml[indentation]
- package-latest

3
.gitignore vendored
View File

@ -1,7 +1,6 @@
logs/
log/
*.log
*.pyc
generate-hosts/
generate-hosts-*/
*.retry
venv

45
README
View File

@ -1,45 +0,0 @@
____ ____ ____ _ _ _ _
/ ___/ ___| / ___| / \ _ __ ___(_) |__ | | ___
| | \___ \| | / _ \ | '_ \/ __| | '_ \| |/ _ \
| |___ ___) | |___ / ___ \| | | \__ \ | |_) | | __/
\____|____/ \____| /_/ \_\_| |_|___/_|_.__/|_|\___|
Ansible playbooks of the University of Waterloo Computer Science Club.
** 2022 Playbook Modernization **
If a playbook is not in this list, it is not guaranteed to work.
- [x] test-playbook.yml
- [x] gather-ssh-fingerprints.yml
- [x] update-ssh_known_hosts.yml
- [x] upgrade-ceo.yml
- [x] install-software.yml
** Deps **
1. Install pipx
```
sudo apt install python3-pip python3-venv
python3 -m pip install --user pipx
python3 -m pipx ensurepath
```
2. Install ansible and ansible-lint
```
pipx install --include-deps ansible
pipx install ansible-lint
```
** Usage **
To run a playbook and request a user's sudo password:
`ansible-playbook test-playbook.yml`
** OLD **
To run a playbook as a different user (for example to provision a new system
that doesn't have sssd yet):
`ansible-playbook -kK -b -u local_sysadmin test-playbook.yml`
To run a playbook starting at a certain spot:
`ansible-playbook -kK -b install-office-terminal.yml --start-at-task='enable magic sysrq'`

View File

@ -1,22 +1,475 @@
# config file for ansible -- https://ansible.com/
# ===============================================
# nearly all parameters can be overridden in ansible-playbook
# or with command line flags. ansible will read ANSIBLE_CONFIG,
# ansible.cfg in the current working directory, .ansible.cfg in
# the home directory or /etc/ansible/ansible.cfg, whichever it
# finds first
[defaults]
# Settings
ask_sudo_pass = False
remote_tmp = /tmp/${USER}/ansible
nocows = 1
timeout = 60
# Inventory
inventory = inventory.yaml
# some basic default values...
# Logging
log_path = ansible.log
inventory = hosts
#library = /usr/share/my_modules/
#module_utils = /usr/share/my_module_utils/
remote_tmp = /tmp
#local_tmp = ~/.ansible/tmp
#plugin_filters_cfg = /etc/ansible/plugin_filters.yml
#forks = 5
#poll_interval = 15
#sudo_user = root
#ask_sudo_pass = True
#ask_pass = True
#transport = smart
#remote_port = 22
#module_lang = C
#module_set_locale = False
# Plugins
# plays will gather facts by default, which contain information about
# the remote system.
#
# smart - gather by default, but don't regather if already gathered
# implicit - gather by default, turn off with gather_facts: False
# explicit - do not gather by default, must say gather_facts: True
#gathering = implicit
#callback_plugins = plugins/callback/log_plays/
# This only affects the gathering done by a play's gather_facts directive,
# by default gathering retrieves all facts subsets
# all - gather all subsets
# network - gather min and network facts
# hardware - gather hardware facts (longest facts to retrieve)
# virtual - gather min and virtual facts
# facter - import facts from facter
# ohai - import facts from ohai
# You can combine them using comma (ex: network,virtual)
# You can negate them using ! (ex: !hardware,!facter,!ohai)
# A minimal set of facts is always gathered.
#gather_subset = all
[ssh_connection]
#ssh_args = -o ServerAliveInterval=30 -o ControlMaster=no
# some hardware related facts are collected
# with a maximum timeout of 10 seconds. This
# option lets you increase or decrease that
# timeout to something more suitable for the
# environment.
# gather_timeout = 10
# additional paths to search for roles in, colon separated
roles_path = roles
# uncomment this to disable SSH key host checking
#host_key_checking = False
# change the default callback, you can only have one 'stdout' type enabled at a time.
#stdout_callback = skippy
## Ansible ships with some plugins that require whitelisting,
## this is done to avoid running all of a type by default.
## These setting lists those that you want enabled for your system.
## Custom plugins should not need this unless plugin author specifies it.
# enable callback plugins, they can output to stdout but cannot be 'stdout' type.
#callback_whitelist = timer, mail
# Determine whether includes in tasks and handlers are "static" by
# default. As of 2.0, includes are dynamic by default. Setting these
# values to True will make includes behave more like they did in the
# 1.x versions.
#task_includes_static = False
#handler_includes_static = False
# Controls if a missing handler for a notification event is an error or a warning
#error_on_missing_handler = True
# change this for alternative sudo implementations
#sudo_exe = sudo
# What flags to pass to sudo
# WARNING: leaving out the defaults might create unexpected behaviours
#sudo_flags = -H -S -n
# SSH timeout
#timeout = 10
# default user to use for playbooks if user is not specified
# (/usr/bin/ansible will use current user as default)
#remote_user = root
# logging is off by default unless this path is defined
# if so defined, consider logrotate
log_path = log/ansible.log
# default module name for /usr/bin/ansible
#module_name = command
# use this shell for commands executed under sudo
# you may need to change this to bin/bash in rare instances
# if sudo is constrained
#executable = /bin/sh
# if inventory variables overlap, does the higher precedence one win
# or are hash values merged together? The default is 'replace' but
# this can also be set to 'merge'.
#hash_behaviour = replace
# by default, variables from roles will be visible in the global variable
# scope. To prevent this, the following option can be enabled, and only
# tasks and handlers within the role will see the variables there
#private_role_vars = yes
# list any Jinja2 extensions to enable here:
#jinja2_extensions = jinja2.ext.do,jinja2.ext.i18n
# if set, always use this private key file for authentication, same as
# if passing --private-key to ansible or ansible-playbook
#private_key_file = /path/to/file
# If set, configures the path to the Vault password file as an alternative to
# specifying --vault-password-file on the command line.
#vault_password_file = /path/to/vault_password_file
# format of string {{ ansible_managed }} available within Jinja2
# templates indicates to users editing templates files will be replaced.
# replacing {file}, {host} and {uid} and strftime codes with proper values.
#ansible_managed = Ansible managed: {file} modified on %Y-%m-%d %H:%M:%S by {uid} on {host}
# {file}, {host}, {uid}, and the timestamp can all interfere with idempotence
# in some situations so the default is a static string:
#ansible_managed = Ansible managed
# by default, ansible-playbook will display "Skipping [host]" if it determines a task
# should not be run on a host. Set this to "False" if you don't want to see these "Skipping"
# messages. NOTE: the task header will still be shown regardless of whether or not the
# task is skipped.
#display_skipped_hosts = True
# by default, if a task in a playbook does not include a name: field then
# ansible-playbook will construct a header that includes the task's action but
# not the task's args. This is a security feature because ansible cannot know
# if the *module* considers an argument to be no_log at the time that the
# header is printed. If your environment doesn't have a problem securing
# stdout from ansible-playbook (or you have manually specified no_log in your
# playbook on all of the tasks where you have secret information) then you can
# safely set this to True to get more informative messages.
#display_args_to_stdout = False
# by default (as of 1.3), Ansible will raise errors when attempting to dereference
# Jinja2 variables that are not set in templates or action lines. Uncomment this line
# to revert the behavior to pre-1.3.
#error_on_undefined_vars = False
# by default (as of 1.6), Ansible may display warnings based on the configuration of the
# system running ansible itself. This may include warnings about 3rd party packages or
# other conditions that should be resolved if possible.
# to disable these warnings, set the following value to False:
#system_warnings = True
# by default (as of 1.4), Ansible may display deprecation warnings for language
# features that should no longer be used and will be removed in future versions.
# to disable these warnings, set the following value to False:
#deprecation_warnings = True
# (as of 1.8), Ansible can optionally warn when usage of the shell and
# command module appear to be simplified by using a default Ansible module
# instead. These warnings can be silenced by adjusting the following
# setting or adding warn=yes or warn=no to the end of the command line
# parameter string. This will for example suggest using the git module
# instead of shelling out to the git command.
# command_warnings = False
# set plugin path directories here, separate with colons
#action_plugins = /usr/share/ansible/plugins/action
#cache_plugins = /usr/share/ansible/plugins/cache
#callback_plugins = /usr/share/ansible/plugins/callback
#connection_plugins = /usr/share/ansible/plugins/connection
#lookup_plugins = /usr/share/ansible/plugins/lookup
#inventory_plugins = /usr/share/ansible/plugins/inventory
#vars_plugins = /usr/share/ansible/plugins/vars
#filter_plugins = /usr/share/ansible/plugins/filter
#test_plugins = /usr/share/ansible/plugins/test
#terminal_plugins = /usr/share/ansible/plugins/terminal
#strategy_plugins = /usr/share/ansible/plugins/strategy
# by default, ansible will use the 'linear' strategy but you may want to try
# another one
#strategy = free
# by default callbacks are not loaded for /bin/ansible, enable this if you
# want, for example, a notification or logging callback to also apply to
# /bin/ansible runs
#bin_ansible_callbacks = False
# don't like cows? that's unfortunate.
# set to 1 if you don't want cowsay support or export ANSIBLE_NOCOWS=1
nocows = 1
# set which cowsay stencil you'd like to use by default. When set to 'random',
# a random stencil will be selected for each task. The selection will be filtered
# against the `cow_whitelist` option below.
#cow_selection = default
#cow_selection = random
# when using the 'random' option for cowsay, stencils will be restricted to this list.
# it should be formatted as a comma-separated list with no spaces between names.
# NOTE: line continuations here are for formatting purposes only, as the INI parser
# in python does not support them.
#cow_whitelist=bud-frogs,bunny,cheese,daemon,default,dragon,elephant-in-snake,elephant,eyes,\
# hellokitty,kitty,luke-koala,meow,milk,moofasa,moose,ren,sheep,small,stegosaurus,\
# stimpy,supermilker,three-eyes,turkey,turtle,tux,udder,vader-koala,vader,www
# don't like colors either?
# set to 1 if you don't want colors, or export ANSIBLE_NOCOLOR=1
#nocolor = 1
# if set to a persistent type (not 'memory', for example 'redis') fact values
# from previous runs in Ansible will be stored. This may be useful when
# wanting to use, for example, IP information from one group of servers
# without having to talk to them in the same playbook run to get their
# current IP information.
#fact_caching = memory
# retry files
# When a playbook fails by default a .retry file will be created in ~/
# You can disable this feature by setting retry_files_enabled to False
# and you can change the location of the files by setting retry_files_save_path
#retry_files_enabled = False
#retry_files_save_path = ~/.ansible-retry
# squash actions
# Ansible can optimise actions that call modules with list parameters
# when looping. Instead of calling the module once per with_ item, the
# module is called once with all items at once. Currently this only works
# under limited circumstances, and only with parameters named 'name'.
#squash_actions = apk,apt,dnf,homebrew,pacman,pkgng,yum,zypper
# prevents logging of task data, off by default
#no_log = False
# prevents logging of tasks, but only on the targets, data is still logged on the master/controller
#no_target_syslog = False
# controls whether Ansible will raise an error or warning if a task has no
# choice but to create world readable temporary files to execute a module on
# the remote machine. This option is False by default for security. Users may
# turn this on to have behaviour more like Ansible prior to 2.1.x. See
# https://docs.ansible.com/ansible/become.html#becoming-an-unprivileged-user
# for more secure ways to fix this than enabling this option.
#allow_world_readable_tmpfiles = False
# controls the compression level of variables sent to
# worker processes. At the default of 0, no compression
# is used. This value must be an integer from 0 to 9.
#var_compression_level = 9
# controls what compression method is used for new-style ansible modules when
# they are sent to the remote system. The compression types depend on having
# support compiled into both the controller's python and the client's python.
# The names should match with the python Zipfile compression types:
# * ZIP_STORED (no compression. available everywhere)
# * ZIP_DEFLATED (uses zlib, the default)
# These values may be set per host via the ansible_module_compression inventory
# variable
#module_compression = 'ZIP_DEFLATED'
# This controls the cutoff point (in bytes) on --diff for files
# set to 0 for unlimited (RAM may suffer!).
#max_diff_size = 1048576
# This controls how ansible handles multiple --tags and --skip-tags arguments
# on the CLI. If this is True then multiple arguments are merged together. If
# it is False, then the last specified argument is used and the others are ignored.
# This option will be removed in 2.8.
#merge_multiple_cli_flags = True
# Controls showing custom stats at the end, off by default
#show_custom_stats = True
# Controls which files to ignore when using a directory as inventory with
# possibly multiple sources (both static and dynamic)
#inventory_ignore_extensions = ~, .orig, .bak, .ini, .cfg, .retry, .pyc, .pyo
# This family of modules use an alternative execution path optimized for network appliances
# only update this setting if you know how this works, otherwise it can break module execution
#network_group_modules=eos, nxos, ios, iosxr, junos, vyos
# When enabled, this option allows lookups (via variables like {{lookup('foo')}} or when used as
# a loop with `with_foo`) to return data that is not marked "unsafe". This means the data may contain
# jinja2 templating language which will be run through the templating engine.
# ENABLING THIS COULD BE A SECURITY RISK
#allow_unsafe_lookups = False
# set default errors for all plays
#any_errors_fatal = False
[inventory]
# enable inventory plugins, default: 'host_list', 'script', 'yaml', 'ini'
#enable_plugins = host_list, virtualbox, yaml, constructed
# ignore these extensions when parsing a directory as inventory source
#ignore_extensions = .pyc, .pyo, .swp, .bak, ~, .rpm, .md, .txt, ~, .orig, .ini, .cfg, .retry
# ignore files matching these patterns when parsing a directory as inventory source
#ignore_patterns=
# If 'true' unparsed inventory sources become fatal errors, they are warnings otherwise.
#unparsed_is_failed=False
[privilege_escalation]
become_ask_pass= True
#become=True
#become_method=sudo
#become_user=root
#become_ask_pass=True
[paramiko_connection]
# uncomment this line to cause the paramiko connection plugin to not record new host
# keys encountered. Increases performance on new host additions. Setting works independently of the
# host key checking setting above.
#record_host_keys=False
# by default, Ansible requests a pseudo-terminal for commands executed under sudo. Uncomment this
# line to disable this behaviour.
#pty=False
# paramiko will default to looking for SSH keys initially when trying to
# authenticate to remote devices. This is a problem for some network devices
# that close the connection after a key failure. Uncomment this line to
# disable the Paramiko look for keys function
#look_for_keys = False
# When using persistent connections with Paramiko, the connection runs in a
# background process. If the host doesn't already have a valid SSH key, by
# default Ansible will prompt to add the host key. This will cause connections
# running in background processes to fail. Uncomment this line to have
# Paramiko automatically add host keys.
#host_key_auto_add = True
[ssh_connection]
# ssh arguments to use
# Leaving off ControlPersist will result in poor performance, so use
# paramiko on older platforms rather than removing it, -C controls compression use
#ssh_args = -C -o ControlMaster=auto -o ControlPersist=60s
# The base directory for the ControlPath sockets.
# This is the "%(directory)s" in the control_path option
#
# Example:
# control_path_dir = /tmp/.ansible/cp
#control_path_dir = ~/.ansible/cp
# The path to use for the ControlPath sockets. This defaults to a hashed string of the hostname,
# port and username (empty string in the config). The hash mitigates a common problem users
# found with long hostames and the conventional %(directory)s/ansible-ssh-%%h-%%p-%%r format.
# In those cases, a "too long for Unix domain socket" ssh error would occur.
#
# Example:
# control_path = %(directory)s/%%h-%%r
#control_path =
# Enabling pipelining reduces the number of SSH operations required to
# execute a module on the remote server. This can result in a significant
# performance improvement when enabled, however when using "sudo:" you must
# first disable 'requiretty' in /etc/sudoers
#
# By default, this option is disabled to preserve compatibility with
# sudoers configurations that have requiretty (the default on many distros).
#
#pipelining = False
# Control the mechanism for transferring files (old)
# * smart = try sftp and then try scp [default]
# * True = use scp only
# * False = use sftp only
#scp_if_ssh = smart
# Control the mechanism for transferring files (new)
# If set, this will override the scp_if_ssh option
# * sftp = use sftp to transfer files
# * scp = use scp to transfer files
# * piped = use 'dd' over SSH to transfer files
# * smart = try sftp, scp, and piped, in that order [default]
#transfer_method = smart
# if False, sftp will not use batch mode to transfer files. This may cause some
# types of file transfer failures impossible to catch however, and should
# only be disabled if your sftp version has problems with batch mode
#sftp_batch_mode = False
# The -tt argument is passed to ssh when pipelining is not enabled because sudo
# requires a tty by default.
#use_tty = True
[persistent_connection]
# Configures the persistent connection timeout value in seconds. This value is
# how long the persistent connection will remain idle before it is destroyed.
# If the connection doesn't receive a request before the timeout value
# expires, the connection is shutdown. The default value is 30 seconds.
#connect_timeout = 30
# Configures the persistent connection retry timeout. This value configures the
# the retry timeout that ansible-connection will wait to connect
# to the local domain socket. This value must be larger than the
# ssh timeout (timeout) and less than persistent connection idle timeout (connect_timeout).
# The default value is 15 seconds.
#connect_retry_timeout = 15
# The command timeout value defines the amount of time to wait for a command
# or RPC call before timing out. The value for the command timeout must
# be less than the value of the persistent connection idle timeout (connect_timeout)
# The default value is 10 second.
#command_timeout = 10
[accelerate]
#accelerate_port = 5099
#accelerate_timeout = 30
#accelerate_connect_timeout = 5.0
# The daemon timeout is measured in minutes. This time is measured
# from the last activity to the accelerate daemon.
#accelerate_daemon_timeout = 30
# If set to yes, accelerate_multi_key will allow multiple
# private keys to be uploaded to it, though each user must
# have access to the system via SSH to add a new key. The default
# is "no".
#accelerate_multi_key = yes
[selinux]
# file systems that require special treatment when dealing with security context
# the default behaviour that copies the existing context or uses the user default
# needs to be changed to use the file system dependent context.
#special_context_filesystems=nfs,vboxsf,fuse,ramfs,9p
# Set this to yes to allow libvirt_lxc connections to work without SELinux.
#libvirt_lxc_noseclabel = yes
[colors]
#highlight = white
#verbose = blue
#warn = bright purple
#error = red
#debug = dark gray
#deprecate = purple
#skip = cyan
#unreachable = red
#ok = green
#changed = yellow
#diff_add = green
#diff_remove = red
#diff_lines = cyan
[diff]
# Always print diff when running ( same as always running with -D/--diff )
# always = no
# Set how many context lines to show in diff
# context = 3

View File

@ -1,2 +0,0 @@
#!/bin/sh
sudo apt-get update && sudo apt-get install python python-apt aptitude

View File

@ -1,8 +0,0 @@
---
- hosts: office general_use
remote_user: root
tasks:
- name: copy nologin
copy: src={{ item.src }} dest={{ item.dest }} backup=no
with_items:
- { src: 'files/nologin', dest: '/etc/nologin' }

View File

@ -1,8 +0,0 @@
---
- hosts: office general_use
remote_user: root
tasks:
- name: delete nologin
file: path={{ item }} state=absent
with_items:
- '/etc/nologin'

View File

@ -1,18 +0,0 @@
-----BEGIN PGP PUBLIC KEY BLOCK-----
mQENBFYxWIwBCADAKoZhZlJxGNGWzqV+1OG1xiQeoowKhssGAKvd+buXCGISZJwT
LXZqIcIiLP7pqdcZWtE9bSc7yBY2MalDp9Liu0KekywQ6VVX1T72NPf5Ev6x6DLV
7aVWsCzUAF+eb7DC9fPuFLEdxmOEYoPjzrQ7cCnSV4JQxAqhU4T6OjbvRazGl3ag
OeizPXmRljMtUUttHQZnRhtlzkmwIrUivbfFPD+fEoHJ1+uIdfOzZX8/oKHKLe2j
H632kvsNzJFlROVvGLYAk2WRcLu+RjjggixhwiB+Mu/A8Tf4V6b+YppS44q8EvVr
M+QvY7LNSOffSO6Slsy9oisGTdfE39nC7pVRABEBAAG0N01pY3Jvc29mdCAoUmVs
ZWFzZSBzaWduaW5nKSA8Z3Bnc2VjdXJpdHlAbWljcm9zb2Z0LmNvbT6JATUEEwEC
AB8FAlYxWIwCGwMGCwkIBwMCBBUCCAMDFgIBAh4BAheAAAoJEOs+lK2+EinPGpsH
/32vKy29Hg51H9dfFJMx0/a/F+5vKeCeVqimvyTM04C+XENNuSbYZ3eRPHGHFLqe
MNGxsfb7C7ZxEeW7J/vSzRgHxm7ZvESisUYRFq2sgkJ+HFERNrqfci45bdhmrUsy
7SWw9ybxdFOkuQoyKD3tBmiGfONQMlBaOMWdAsic965rvJsd5zYaZZFI1UwTkFXV
KJt3bp3Ngn1vEYXwijGTa+FXz6GLHueJwF0I7ug34DgUkAFvAs8Hacr2DRYxL5RJ
XdNgj4Jd2/g6T9InmWT0hASljur+dJnzNiNCkbn9KbX7J/qK1IbR8y560yRmFsU+
NdCFTW7wY0Fb1fWJ+/KTsC4=
=J6gs
-----END PGP PUBLIC KEY BLOCK-----

View File

@ -1,4 +0,0 @@
***** ATTENTION *****
This machine is temporarily unavailable for system maintence.
See https://csclub.uwaterloo.ca/newsgroup/article.php?id=12268&group=uw.csc for more information.

View File

@ -1,12 +0,0 @@
search csclub.uwaterloo.ca uwaterloo.ca
options rotate timeout:1 attempts:1 ndots:2
# CSC Nameservers
nameserver 2620:101:f000:4901:c5c::4
nameserver 2620:101:f000:7300:c5c::20
nameserver 129.97.134.4
nameserver 129.97.18.20
# IST Anycast (fallback)
#nameserver 129.97.2.1
#nameserver 129.97.2.2

View File

@ -1 +0,0 @@
../roles/core/files/root-dotfiles

View File

@ -1,70 +0,0 @@
auth1.csclub.uwaterloo.ca ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCmdYsXyf24OrBn3ZTo1rWZt55ZnE6L5DGYgmvRqwTFlrr0GyqNKSUDu+QL4NlxVRMB8IMe4inpuRb7JZuO47IRqf/KCIgWLfpsd1CMflqc2rYRVYmra2JSQ10DHJb4VGbOqABhkeB4YeTPwImr/BG4FBOm7QCqIu16RzjANXjYtGZq/s72hUhnm4yV36BHtXXaI4Ji7i4IeT2onyxfZyFcC9DcP83GUFOGtjAMumDRpJ5ftek+147gfF3dSvaYj8esFZW4geMoKXBe3B9vYAgH8z4iNbMqDc7NAVOWsvf5dSKiegrIrovNWm6rVWqYAXluJ6nkt1i5wkkM776cUUCn
auth1.csclub.uwaterloo.ca ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIAvLvnQ6Ocf/QjojRW5fPrROrsQvSr/8pRVQCNXphs4W
auth2.csclub.uwaterloo.ca ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCyXarBOhnkPR2cpeXPrSzBBFY5Wth7SRTuPtY0DLRsIVqAfJ/92pY79AWcvpM0DtoguMscc3iOWKhLpz5gxA3zPUOjloNMvGMHjUzC8Mwi0URJB9nbfpuE5+sHSLIcl26PbvHTTgL4WbsSypAxHNEe3Cc2uZ7JmGgccicXm6r7rQBICWmwQHjkB7rlXYNuY8Kni0lRDWNV45QUpab553wbBw0PZWmnjA1/ft8gN7ppXzBfvdPZy/OBal+7dUsCdBSsiCUu4Fowkqa5wzQP5JrfExmO3fp5mTTKWA1+ige2FJQoLhTtT6WuZ1MiMig2h/5itguxADP9X9/EFxVUsj05
auth2.csclub.uwaterloo.ca ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIGJcYRda4/NglHpJDn9CadzN6gkO4ziUI1CZ4KZ6T76G
biloba.csclub.uwaterloo.ca ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDdi13l04LP2XMUh3cBQJK1wxPQIDd4X4dUJe2Q8t7mbF2aBbuhPRvCWqmVADzbHio7Bhw3duHRg8BsdByJXYBz2JC/BVSm4CsxWRn8M2MsvVdz/TZqb7kvoFcQgGOtDY3IFBe3IyQPssbA9RAi0XX+z/p8tJff2v6Zs6v6pEmhOT6LGB6gqwtkOqamvvadGhFqIqs3RcrCkRDuvYU8vg6yFZpNeorJjQjA2Gqj/8PvZYOMOdd1G39Xtfn/klff0zfMgG6UmC3ki3Rc3quiUCfmZ2wZcNWvryKlNtlykhnUm68gBSfV4jdqpoNvXpN+VM1xtJ7odFR+tRIXmMnqkNQt
biloba.csclub.uwaterloo.ca ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIE4LtcwS3RYxhPENftd//ejt9QNQqRqMLbT1iULtk7cN
bit-shifter.csclub.uwaterloo.ca ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQC1XYYpGb66vqIc0AW7+Ff97ZKXK0ptKTofkrda8+aMAZtglenL5H65crQroFswTRFih7aVuRm6tDpVIHqAgA7R5GxMMDFr2kqJhg1IgrSdGAolcGs2kqVH2HW1CDy98RjnYfYHrH9e8qKWlyLsRggf2SMoSi3e4BDSwLcSoMeV+PtQWt9kKvx+r0A2GkADbkWo+0OoWv0hB02SWd7Zqv8b8jFSRUHMhGinFBmdNG9i+C9jdJlHzElhMaDRAEddwl+dgp2En+HCyT50+cdZp0acSjMoWEak2VY7gCOn7p01Jr65pxJVlC5NS6c1jCsNWAETC5/StJe3bYs2mbEG08DPDgGM/mHKMhWxRfL5CDlh1m3wmiTgFE1YReRidr5E37dP7DdQAEoydQ6a+LQFlj5t2JMrd9t2VlWFQT4zwqi2LjqQ1PP48IWN1J2eGkaLuAm5u/mF3xa4mj9AhZJrm8TZaAqPfR6qVBK0TXRyPsCoiERTXz4w6zItharOrN48KBM=
bit-shifter.csclub.uwaterloo.ca ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIMB8dLURukblvcaECUMoKZa3WDEt71nlvlZ2qsGDkdSa
caffeine.csclub.uwaterloo.ca ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAzLf726SMtgFQODIFN0G2WhwMPW6A6zDvd+hLUZWsx5in1rdCAVgtBAnqSlIZQzG+VV6b7VF/vUFg0g8Iku4txwQzE2o0Edln6RWFcEgYgczCY/QdtQ358NyZQ75M/fzM3HyX62cTzkX/nXOLIxGs8O8lmCSRs0D2I5JW4XciFvH4tarlstCflfkiTitqOicpaU+bEKfnXlfbR6tWsm5dp0gFcowtabJnWkuMNxyFSURWfglTrIn/XsEbA9rMdPzSHkpbuibrP9TaRQt+hwph+0fOtb2TlQlH1wu4O8Xi0R/XqlWASjRrXHrU6bMSOqq9Ym4a6oBUDrZMdKdlH48xsQ==
caffeine.csclub.uwaterloo.ca ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIEl/7srK3RCWen+dBNiO1WfWQQqx4yVs+X6M/XRYPjml
carbonated-water.csclub.uwaterloo.ca ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDsG4GJOjGXnkKCPxDfaCnBsL9Yty1CWZ/2A/ZAZllW1Lu7Y4PXHPyuKi6mf4V6C7/Sa+EQamMIHZrwO8kQ4V2AbRXXt96m9BDT/urOBWpL9sD211t7EgEKB8m75rqBcSgnnM44/crO08zht+3h97BZ6Eqp9YtqcXi1TqBFna/W02Ui9ZRJethFOxUWpWN2r12Skz7LQ+VvhOiTggb4kpUdKJjpY5hL66TfLhCionBm0OEGt/ccSsxJUyj4PPGOy7i/BN/N7WiFZf7PFouSpMiAN7GtEmUOEiiYVgsAh6M3UUpErV6B6FPpiK5mNsg1meLZvfl2e17nWXDv7s1zvKeV
carbonated-water.csclub.uwaterloo.ca ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIIlEqhO7fQzl2tx14SKvv0f2p1Jhhieoiukh4bWLB5ZJ
chamomile.csclub.uwaterloo.ca ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDsPbZrivCCDhBiKYf5KQKgVm9aeMcR8LI0s7uVzdLkHZn07YaJep6GTcr4XvW9vzW69lcyASJsUSGrIQitpvU6Zd+5sliAWRlqo0Tc86SU+0Vo/b8gmA9odFhmvENEhA7rIa+qUxSB0NmJQtCnAsJXwcbLMLw9vhbJMK8u7MzzfYSOE6THA4hT3WkfwzHcanESWdAOjd/yNNY1r1XltmAShRg4QzJx+bx4KMb2iC9XUGormQBLbJQyJmNLMlNc/tkW1vBH+8ZNysAUYQqWKjpfTYLyzGUVf6BrxgNnJLPAqOnWePyDd9+oljMZfer8Bih4n0rGJG5/M3buELI1/r+T
chamomile.csclub.uwaterloo.ca ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIAMztEz1IeDwR2gnmkUJ1ARH8qMb0Vye2K59RrULQBUO
cobalamin.csclub.uwaterloo.ca ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDo5+jPDT0ak6Ox4vk+EPmxNsVgQuLK82IyKvvuPHZ2qJ27ZJ6a1YxE+WiwpmKkF4BfLC0bwMIY5PZ3IUZ+gfVxiA19kddEWa97kmntsOB2oirpv/Ewvv83KflVWwjIiMCS9BlbVwtzhfzaOUec0f7jsqQ1x/J2mvAEt81vgjFeWOqmxGhLQs8sZZzeqQBZyOHral5GvcIfvBbBMAhV8E7KuyjqQsGWqOdrEThEM7a/sNmmawI130PGlOIz6FKcnBZJWxpo0L26cGIEI92lvWRs/NWPaPDtyWuaamkP3PFedAc6kX6pnU+MqZldsbH6bDsPq1iOryU3y8WebdTBGVh9
cobalamin.csclub.uwaterloo.ca ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIBJT/8C2QZ5eRyIA6Q9ZdDS6naCf9raqEo7hZUhTm+Sm
coffee.csclub.uwaterloo.ca ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDF/hEcmyYeG+sqVL+urSAvjR4jkCrohTjk63IivxSxFWcflKikAWGBONS52FFveBdbfKVd9yIOBHpTl334Q7g8fVtDjRc8rhW9pcu+t5ImFv90NqQ3fhEIQOj/3B8mZ5xuqfE8dcuKwXd3QsyDGhwwBoDOanx/STrFJEJVTdeXPLJSA80LNV5oExSrsZ3yL7SkUdQq4ogVf6RkROSLWPHSXUUcTZzzkCztFMbgOIQEMejij9ZTfWMZtL2Ua5kCXk2d7peY4tM3W+ggHcOu0EzU7QClq8SbiaJv1LhhHBYKIYH+c14ndyici+hhrkdKHWR10O7Mm2eGETbffr4y18BN
coffee.csclub.uwaterloo.ca ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIDWezKQtIfCb/JxML8H6gtZOt5iiLd4Ix6Vaax+cHzja
corn-syrup.csclub.uwaterloo.ca ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEA1Y3qdNiwgOQzHXoDnRozSJ31eGoVYldmG3R2Rwa2rXNUwKVeVx612GxANjPaWrMyJ7bYEI1x7xtfdxKRcz94uumeqnR8cBTNKhxd1vtx0J64TcmezZqZdTAJZ11NVLRp+cuYPNDY62PNRtfjlkXMZ1BX1QFgNQdpARkXkLlDqAkkhaDVMhtXg2/3Z+xe5cizcwAjyeVjWlEpYrg+g2CKnpL6/hF9WZT3OLYsUDqVGZS0tDrS9nOuPuNQFdHZPUdaaNx7Lv+k8D4Yxeauc8EGGD2qEJ3xTh2P7FmaYbDc7s8GIYHa1lKh87ZULNyD6G5ieLYjSCjyHjVrmFVJM8woyw==
corn-syrup.csclub.uwaterloo.ca ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIJQYiN9/mUUBcJx4lOCnm9W9n91iKvAY5cfcnoRzNqKU
dns1.csclub.uwaterloo.ca ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDEI6VGY4MP/KUvRmAZe4zU5uBS84+r1r1CCOqMrzUniLVeDeEwkLVOsVjzAA3aTrZTPHu74SnmIeFSgD8N3ZmLsRX1J5MjLyTueQWhW2CfVVmJgm2HKRT+oACd/ICK3igeLeLJZbHX/kWj3fpIXH1qPEE5FG1RXZnl//YrqlHfD5bhAkoc8T9f4tVSi2uCBLsygI9YX+TMgslVMaoAPtUOsNoHX86tC01PnJdZeWNV4mffsezritwANOcEHwer6ae8KvMHyTn1PNS+JliaUjM1sJgbcrKLgS2X3WiJobm6axTsoTtAuwYifhaRTKqoAOVowk2QnwyjKimI/oYNj7xZ
dns1.csclub.uwaterloo.ca ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIDo3l7ZgezN5AnhqcxDENRWI4d+XzQ2d3jU06cCrxdlk
dns2.csclub.uwaterloo.ca ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQClthQ42O/5q46PqkF2Gbay+RQthHvRghnN62hDV+g6ROEyAHbsTZZH2GNadLAuCkiVMTLk7XXFaAXAzXGwKlnt9SML306U6gIxriDJ5xW2Qq1LzvAFcMGRLA0V7HhxHfQveHPiAOTjyBDXr0DL8JNvvw5RlcjATHkUnEIZMD8OVR4n4lZ4WWQGGimWekN/xqxAbICasvSeDVBlYlN2mlcjB0xuRbDJl9itbHW5lk9VIaSuCwc+Q+xcQI3jtWsz2baQa+yCfaHwIHys3ChN6AeW61hdWHRvYtsSvfnIyVXqGejADrNuTqJxMgFx+04JehuOrzNtLlC+QPaaN/F5abt5
dns2.csclub.uwaterloo.ca ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIJ69SS+uWofWrv6o/1ayfDl4dYrXdomif482cTVbFpyb
etcd-phy.csclub.uwaterloo.ca ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC9oYiZYxbBtwgNvf1YWm9SPSrhmL4l/sflJyTyAuXspqjZdJ6hD2rekssRnANK/A2qy/1bCX+8dM5FLoU0jg2lAPO9m8OifyrcFaeu1K9rohL9g6xy6DO9+2XHqSrZpnojzbtkNmzSFyuOftJLl2NP2JKo+++ZJd9GPOiKzCWfIRIh5ir00boaFp1b7YtvYVINbH2esO94ArnQdseEOI9lnPc2/40RfCYANxjluOl8JwWH8KKlAcB9piv1qTWHDH2BKkinvcVjDe9+dJ/iyTlGe2BOqvbTz6JLwSK4E07In3dLCYTgfWYozmpHcNOfdc/NLhspyt6IufAFrcwBwJJl
etcd-phy.csclub.uwaterloo.ca ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIMZvm5HSmM/ws9ufNGX22+N8DX0I97b1Xk4tnXarJPwG
ginkgo.csclub.uwaterloo.ca ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC7a1fj72/toOLO7j2xCWjGV9LclAeSQhHA7AH55QXLpJ92wEJ85PDwlUUwR4ARKiSk5NnBpoI6RaEsuMBfmbghtXW4EYPz03jtenPPAku2Jkn4QH9Ijf6T0wzL2V8f53+bdqkTGc23/oQpDV0JjS6iSBREI11TT0TgO0KKh+te+qMFYuBhJCHqrZVWQKXoquGRPNZuOT9xZ6EOMMgL8tLDy3i2zwxgkFYcgaXVva9+fIR8PQm/4FK7dhXK9T2x5UtiuhQ3qcqr/oNjrimn+uYQjMuASzO4v/0/FvG/6Y08YKIcdC/3kCZX4DBSnajE178ahLEH4lveyLWpYtrEOAAj
ginkgo.csclub.uwaterloo.ca ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAILV07xCAXmf9VJ6Dyx17+eRs3wRQWPiFt4h2Rjfkgadv
guayusa.csclub.uwaterloo.ca ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC88UgT1RuYgWapX5Zjt+SqrdnxjfwbtnavhzCKVxNU5amXuRc6YCBWkisk9szFCmq5uFY17fyx+dT8lBgAjTuqD1y7nZ9tyOIvnJWWIVNIc4MW1N0/VDDNR/jUedFQXUxJqbPTnPox4dcgACF0EB4O13mIIjrdhESxGXHDlOHNgvYOLwWzbglY5oj06dBPtsFf/NVbhe8J0h/lI+6kwFanhZa+Bbahwr56lXCf4bNxC//DS+CAr4VkQr6OCp5hUZwcdnCBiUSOjck7aOhEu8exvS/iUErX4lmObq5slWcQl7IK6kXcI8yFqpMUKxi5sCQIQSE5tbvKy+M1Jqt7AaQT
guayusa.csclub.uwaterloo.ca ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIC6yuHvichINMFx6Ur6kys3VzF9prSDoIFmYPP5qUKj3
gwem.csclub.uwaterloo.ca ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDzQFg7/6hX862qyt/I/MTNhyMLNER55aBr6OIB4TDlZnOMAImIbeYTlUFxgb8JYHzEaQm3czfk11CafdakCKOlMyorInO6V9QNVtZwZzRYY03VEHONmcDV5ulnm8rP7/88MKaFEfeBqeXmUh7BIvPHLIgbgghqvtyHUqaAjNVVAKkxqcMsyUeKfUsW1okBvktHB0ToB+X/GZV0Ivi2eYNvpnFddYcd0p8gal+MqK0AyapqyeesQSsMDL5fjOs5ZOtFp55g9DsRftbLMPfsdBzXv+T8+uRKSt6sfpBr3hnmXCjHQihDRfkTetpIzn3uwoUnRAEQS5X0LhFaeWgB3O41
gwem.csclub.uwaterloo.ca ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIBUo1SiyHNoMryBYd+fxrxZZT3FYSUjf2xs4J7r9WzqG
hfcs.csclub.uwaterloo.ca ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC/XkcWvw/JAagtCFymBySJpnPjx0Uk0KTDDtdwNqeHH4/GvN0R8KWQNLg/2eJpGNIt8geTyake7Hg879rrHEh4RZrDkz9Zu8yTrV8nGGf2tZ58NmEo0CQn7I3wziNcJHpl1MQUXmtua8buvUNL+l7F+yag3u+ElPeQd7KAUparF2n9pz06kK4U3XEvimgOnTqbJaqP39ki/EjmUhi0I6LvzpoOdA6/06IM+EkVi58l5mu1vBffUpzKQXIOSJf3j4y/zEYqEkO7rHWdZJn0CVMG+cfYxry+GC3CRonw5MdemzU3wd+e4KI/zsdvfXBJwqnhAIN6Jq1hbtodLZYODp/v
hfcs.csclub.uwaterloo.ca ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAINx6o3+z5wJxIs9zYSvf/bwzsWI5Nm27Sf/F3kvp0aYs
mail.csclub.uwaterloo.ca ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDTas45BY/7HZjNUgwJtBSOMNVK+/eMM3r3EJyXMaNbnsSa0SrZgXmu0oA39uYHZD++ejn8tYsGqTtTHgIIcCAgrFWJykzGS35lq/t4YcqWqJLbTO2UiNwbi+VBEHWSRF5+vmYgO8ApuksULLsTy2PwfV6OoAqWtLiKcS2nmTRYuRqJlBNPkEVDjgREseRS+uFPK42cEhL3NNvHaHOxd5s9iamWFPVyH4s55MIASNMFzy3O3FD0Ewg60sTqBt1i4bqZcEC+ONYkm8/QFEJNcldIyn2XPN2FhfQ6QhCHnC/X1Z7ok2LFDsYo4rNd0eQrwIiK4KhwlwQg5/eJhTgbcig/
mail.csclub.uwaterloo.ca ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAICyt77ru/ViAIvaw9Nca9zL8Gqv5VwNGZnW7LCQu+9WP
mailman.csclub.uwaterloo.ca ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDcvIN1SSL4G+N3N2t5OMiChcXbgfsAEc82ICUuqMHVCLXZ6zSTx7iXQdkmhLzNoNUwzdcei8KCt2ThLaFfzc+kK5LWZ/FtcmcsIrkC0hvRMaMyECA22XAFr/RcqzCH0Q5w+Cm6ukcONhiAUyDQqSJxqd1yPIkXh9oT3ZjH6iDuORtXNz+f2MQLCREuSpQyplXrir/ESR5w/I3EWEg3Wrdiksw/2lP2DzwD3Nudi8wDAZ9LyTgjB1b2fQIML6zfhKfWIchJiNFZDlRthsiBln1poLQioq2M7bFBO//Uf0dhq/Pi56dYbkex3RTzxGpKZtWWISBpl0p9iLqeXx2RlMt0e2Yp9jvTHbtyvvXDii384q7fgY9zijKt/d51EhSPM06qMoZXhsj3q8U8jrxGFJTBHSzsPd3lE36P/F9qlpHNBMC75wj80t1KrzZ/AJR9gzpA5524Is87q6dvx8QIoRlzHE3LZfTqKe3Y477u8tYCSQ5gNFa03VVXtVLAI9LegN8=
mailman.csclub.uwaterloo.ca ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIPFGFmDi7qlCVmlBw5EbaO1FU0khMjODA16EW8JOso34
mannitol.csclub.uwaterloo.ca ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDl/0vrcgl/E3ybwdThwQlk9VoTMpVmhtTfuTH2mV1sNL/bQv+RVa4CArntuoxuI+d08PzzvFNT63UGMKmULoBrxiR9WcvnvVBYKZ2Uq0mZa7uW2xCk5vhTbr/LE9FxgwukwcsbFuC+8RFmy+qqwcWdJn45Iha0FbbLgwzAanxD3vUFGOT9uCvxhuQ4qbPwJBmWYOBOBwHS3wIo0buizqNkGW+ZyPJO7cl3ODMw8Q6QrRMP3c4zrvRrx7pK8ZRzrYfP6OjriipRRlcjKcPWkTTi5QQeTDQp4+X8MPukf9c16wE134MMzOAlSp9ac6Hc3Fo9YF6532p0OucdV1qdKe47
mannitol.csclub.uwaterloo.ca ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIHBwWIlKsqicBIO2GEESK0o/50vksGS3sOTDOZQyBozD
mattermost.csclub.uwaterloo.ca ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChF3yXKmHgNXZ0lk9K62jJ2SyIQGcrB9NQkZfsX6UtQqaiTV0CTih5r3QBpfrqvSsuJGNEyJ4X1euN5YbuiSMsyjvNJ6WRo8x4B4WE5pPdu3nUMdxT7oPdX6dajAlyDfxPRDyYX1nhimPx1ZuFo3+DZ6LoLkJ2k3S7BDpXbByAtWYd7iKPjmUqWhJ1ic3mqCXYIOoWEGx2rDjZTtQzw35HTvcudOopkxsuWR4o6BW92e5cA0Dpz88zfDFcVfiuPJS1w/QmaYkhHN8lo1Ji3B09hVSIeO9Ii8zDCRPw/S7QYgfMQRRbQuoUtfH9hRHqZL/ycpEtYs9SGG1JWz5WOjK3
mattermost.csclub.uwaterloo.ca ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAII2dttPz6rcDyIGM5NYKx9LURUQNgzSGEkSVEuP+OdjZ
munin.csclub.uwaterloo.ca ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDGasfjpaAvGwIFaDUd7MVs+hlnXKbFuzz07lUkAH7LvtqQdfNi6ytBLar+xy52O2e8Dx1Id+zQIgy+69+mDY3ewJZ528CIlKTOutJIDQq9gr9NngZwVnz1Jhn5otFgRMcGRDjVcvU7Y+/krP1Tlty12Udi9Bxe0d3gbysMsQTmLqo/JgfjQ1TlfQqJbUQNFUESTX9lgxvRN+IZpI+924EphJ5dz5Yt9IP9D60BnLOPgG0Lo0QEUom6S32gE9aKSFp6Zd6bSTgMYM+zGRaLX36uwFF+SW36QxvhJOjoOXsTRJd0ASwcresqj1fIPhohYkwhpeBgR6O1uLSuhfklFY/z
munin.csclub.uwaterloo.ca ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIIc2OFHM1FI9SLnd94+H8eExdmwRnQQO5axNZBdPR0Xk
natural-flavours.csclub.uwaterloo.ca ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAxB8N1u+o/74IImggUHbW3l5TL6DhU2woDXxBS5h1e/tNlWpPWiAZUym8WQEARfPFwgKuz/lpGEPXHB4RjxBUO3XD06MqIltqAok231GB5JkjUxIV+0+prqNYn+69ddWGigNMHngy2x2K/hyb4nk2TmvqtYFPJAZvhv8YcVwQ6KZytWlOT0RtkLWr4NG+JpcUqFRbaAfD9Bb5xUTBmeEPTV2tE/XDOttA6unSl2bwZUhy6E5A5znk0/FashGCr/tpDeq2Sm7Fg4TGf/LX3TQU8myXL7aJxjOZlQ09LF/r4k8Vx7lQjZ6OF3UxIs52yrv5RaiIkCOb+FW6AlPSJZL9Jw==
natural-flavours.csclub.uwaterloo.ca ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIM8aYjlkPSts9u/HHwG3MPWPqvYx1eQ8EyfsHdQZvQmH
neotame.csclub.uwaterloo.ca ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCucFmVnoxzJueaDLxcV3/e/1/J5N3c30GMxBjXwijxxx8ummYEm+prHW3/zfGIY40Ygf7wkfa3wgXuGIcX2qOlO4RJcdLsoXgM+30MWs6L2QPGBgZVP8lB0B1VrjFX5+QfOx2ZF7yfjeL1caPE315h0Ju4AXAN5kkqZqF7lJToMdFo7GyKEgFI7bvnx//cZBs4ioxAtxzpS6E43yHJkijzIuTudJqH5EwiXwy9s7Mc+QP9uJnftS+fL3tea9zgn3yZKoXDLdwJuEzXbvhgwrVgGmCce08ETy0c/zwfR0UT0wvZexzQpvFMRNDWPl1kQCfE4oIiQ7y0kDef6QI6B4yl
neotame.csclub.uwaterloo.ca ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIFHKfUU0zLGUL52QFEgWjEX9IqfMguFfacrBkoyZ/5Wp
nullsleep.csclub.uwaterloo.ca ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQCmHDI7s+OV0nUYvha687DTx4liIVc6v99Mpu0vcSy3UPu0f4B9CNOL+ZJbnNMFbAKd3Kj/r1exWt1rsgAj8WRHy79qbCE0QZ8buCchRmYf2N8NJ/+bVj2hjMc7m5uxalSLGqggLIOMiv0pNwew6t2vPD8tYFcGmTunIDUZdsCliZ91GaYo0P72MwqPrhTSsLWnErb761vZyVULInjcjYO/IjGifnue3Z8pXcnsHgC+Pde7laBALrlvV0qzi7U88Ua/NmHSmQNKeev4kaGbncxQQKoHQemJpc3+KnAWsZJG6g913vhWPjLS1kW6f9NXOfGkYCA7HNKqcTH5BkwV1KOKe5LR+9Y3+2xTZjSNILaV1ljfiKN8CPudzZ/T6l1wajsH9A+i8oecfEj2EfUdUM8kzYedZt4Dw/RVq+CVpqxKpLTH9d9bPlowGhd4f9P1XfxRxGMKUJOa+FO5G5ekrF4ceMbUIgLhgL3vB71g/R81fZaEDXTa6x+qdiTbo4oXtXs=
nullsleep.csclub.uwaterloo.ca ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIJPPDfTxCsrCsRvR4cdtH161anSIl5UL9y8oeelctHV+
phosphoric-acid.csclub.uwaterloo.ca ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDEp3lvRFATMbwUkKDxnKaTrWBgXsOWoPWVK24JE2cmPks7qzxde/OkMvx2XYHEUKNgzxSOyw/YBdFENEkbnOunyyqNP5ygb4hixaEH+aNmc7bAXE6lsIidbTwn4o2KeKG7FWLTlIk/kSHA4aNYxdeuQzpdUip3fmFfwfn2JvTJMHWI0KgMBWuIOQMFnEf+owRYnb0wSuEZFR46bZT7moA06A4PSB1+UlZIyJ+QN2rA5MkjMzvEEasWiJSpsM4W/QRmh+le2OMrNiJSQAhcI785/gvXNIFQZNG81QXiBDQ4XB8t1tbeTuRRDEgtmREVc3J6s6xgtdSO/mipwp280An9
phosphoric-acid.csclub.uwaterloo.ca ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIOREvEW8G1rbqkz7DyrMD1QrLvxt28ajP/crJe8Lt0Qx
potassium-benzoate.csclub.uwaterloo.ca ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDO4ZqQ8XG7fmM1o6v6g3Ac+ljP6j4HnyrPA9dNjVWMxjM0KhxOtKWQZufAFcLBvmh/myK13cJnnrHYjq+ZIc4SH2LRTW/nu9Tdsj/BPbCiNQrAk8JLv4fJJVhysT3XWRlvJaN7xTwUdQ+EEPSHFj0KB5OevONwlNqQ+2GKGrkDRnslxY1Twgj+6WxGvY+mFBpid+v2K8ypb96zNOI2azwUvRMrFpgntRrqCiWbvsy4KZEikhSv/VumTb9YlyyjqMhqJgv7zKAbYf/VrlSHvO1pb9lbEGZmaS1P27m7sr5dfHMy5YeAG4NCwtsXXz8vz9zl9LzS08/Eb93rk7NiX17r
potassium-benzoate.csclub.uwaterloo.ca ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIHQTR2Zui8kaLLiQeBFDkkvdVEJ6+rL9Ez2QIMWJgu0Z
progcom.csclub.uwaterloo.ca ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDNjB1iigeXStSM1ov3Uvh9HJdVEWDqVzshH2YzbwhYC/vB8RLpNAb0g+UIK9s3YJJ4Q58XzpWrCZTq1bOryoB2D6dnX0GSqw/M0ENMqIl/ftOpWrGgsNjPwXbTNWxw6Mb1oBBkFr+q6slbwN2gF48IKphmbFKFasE7LH12Uc56i5HXAjLTCIgxurviXKMP5okg86P91jbuN/jMy1osiad6jAKaWhlcGq40ntyZCvK2OkSK7fZ5joA4xKBr2G+Wu4cNi6e6w2ZjxBCuZBCP5oK8lh1LuxUQksyovYWeZMM8rP99wxq0CusbsPjm5OZP4GsFQKU/bRti9joRumfM0JP9
progcom.csclub.uwaterloo.ca ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIIDyrYEfmjvo+ArpqUyuzUeQbKWLiniIcWDIoAkIS2yK
prometheus.csclub.uwaterloo.ca ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC+5HhLGTgUb0FVpdBtCF5w/JoFGVlgw0JXABAsxPweOWYaOLcc2fG6Fp6wratGbGBqIDguIZDzK1lD6niji74Uyeo/erPJNQJePlQRT7hH5zhuxHka1eY5nher/MjFsu9J57dIlCQ2UQg3xRqbDfSKIWhsh8VGwX+TOojQy3loyQqISOvqqNYqTCF+TsEEubPffvvagqRT1JEKVQ/64eBuC+VMewpZv2e/1Z67B5LwRsyFTKzPQVIcNbNNjl+6WGAbnsBTUEkWBOvx+iqhWXQCW4LbRWOLkDMAY1q666I/3d029Fh0QggKc1gEgmPXNukPwUYxNgLctIBVqV0u/WoV
prometheus.csclub.uwaterloo.ca ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAILMDw8IjwgClwwI2x+JfCAKWeO2DpMPSErsbtYrkoFOi
riboflavin.csclub.uwaterloo.ca ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC2DQN5wmaDyyxojGz4NOl/lGElSxIrlGUBdYcbMN8gIW9H5TazFuitfIyoVNz68CXyNVNhNXybGqUybzBrPA5QRviEnff/Sywq1AREBgYeuhwwn88JTTx68Bwsx6fiRRKm2+EISN9N3hu1AeE2Hbqh91GhgWBt8WOroFD37Ryk5AV1mL0LsOlBhsPd55GmQKlFpC5t9bsnkJC4ZyVFE3LtDadr/JEJiQRrZqVrdBG39cv9e7lFVts6MZ2Z19hs23NX8pl6ZKkTu5zZN6aox6n6debEVX3dRCbNYFGs75tLieSkUMY7STAcvu1Wd0LSvdCvFV9ba7SFACO+FG1rQjZp
riboflavin.csclub.uwaterloo.ca ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIDMV/P9dCMkW4GA43a1FlOpM7ifHdI2MyWnkmLoLs/GT
rt.csclub.uwaterloo.ca ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCvHWacOC003Qkp9hzBOBeH52MvYJkvSSbRgKdmaUVR5HB/MlqPNnp3tfw1kF3gdtM0PUU1NbZ94c7rRWRWYIOavkNr6hXzDFHACX7VGub8Hg6024IuoVRnmvgDcm6rnRxedvhN4OLpXlePXcmbtXQ302861cyKXTAzup0O5hAbuEqGvUhtR8bt3ATW5ucYmU+JinlV6gMcCz6UH69X3dj037mu5IxLJoSaknT6v9Zm5tsK2EfFe6/CqLN6tKyBuBWegdcXTJ1hNVCAIL5Ayz3wqcuPcRV25hTFddcNXUYGSnwUUk2rO1sSb0X9/RQ/OiH5bdVtSel0gi28Ap5+d0jd
rt.csclub.uwaterloo.ca ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIGhh51yhgdLUI9bq69aqtw1rrPo/y8O5339gaBFEH2am
sorbitol.csclub.uwaterloo.ca ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC8CIrohMD4Bjn3xgFbkg9fAlqm3txjpneL7JGRe7FjcogWIEnWiVqjzgTYVQceIka7kbAqWB0yFkLZnLY3ZtYUAfQciyepuKiknqqzFgUNSZwJzz2+BmBddsLlVsudaN710zkHf432KkskLfhs873VPtMxkChHUrqHcVv+QVfBCHHNa4omxOalNFnlclw4ivROSc9INKoWdDWKTiAnjyvWUiwORDpRyZWtdbGxs0PIvFx1OtEUeSvlx6WYaxPNe0irLqY4QcSwBlfQZ5Z/kle2Ru/WEDZvcp/9txYBTT//b+08PPTeQVwExu+ay8Z/reb0z++Ay68qW1txSO3M9o9B
sorbitol.csclub.uwaterloo.ca ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIDL9KkNuGJ4LFo7uMs3ldd7b13gkg+CSEubYQGv8EGPz
strombola.csclub.uwaterloo.ca ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDZhdxHj587MfoUcfTR72ouS1VeRaivD9ZpbAULl7od73Uo4xff/sIuT4hhm+gyQGW9gKA1mQfuhJ34nXnEulaWk3R8dWMxwn0lRElvbIG+bcrCCinKNU2RRoLOCh2cmri4bEF8PaejN/kt91CSRRT4Sko1tG7P58GedrOAxJDmsq7zHoTm9JTAJBa9AuPo6TgurXLN+6zQ+eCvBERcMgPLG8G2bhZg37c/scdI59s0om1oc6LcOSgGkF3yxmBmkSxvworr8rCXzVWhUvbNAdd0P8CI0zBOxxWuUi1/Q0PeRyFmI/T+6DvOuzXKdQgpOZj9dR4rfJb04V/s3C3d+DA1
strombola.csclub.uwaterloo.ca ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAICcAk96AtqG1gJd0yc5YQbBHZlzq8/0MXf2b/q7Z3ZGo
test-ipv6.csclub.uwaterloo.ca ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDIgYxewDMHZrNw1yRthPwQxcGD7CBFEWhAG5lKn51lq/uynucz5HBfouy7LU9PTyAJa5FsYVK23eDEHCppYlL+3TwU3gYyC0mEzsM9g2oJPCxvqH59p4qftyNKF9sgv9bkadYf6NT6MMtBlWYN7xLZPBfJkshQEQu85S+zD3JHO8bF7etwWn3sX7gbTheO0LD8jzj6G2AyRTWpkk5v8O7kBiwiZOoC2ehcSfqaxAVqxYbawi+pQ5iXfX8A5RXduezH2XcRKD2GG1/f2nMALXrEq8OrRH7UVFJUPPViQxNnk4D4w2THkNaEnT2/8YcxelzFFY5EhW9pEOBXjZeLRzGr
test-ipv6.csclub.uwaterloo.ca ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAILYdv1TC4b7N8S0/t6Xvyft0mjrM9d4b54Frj8eQLLQx
yerba-mate.csclub.uwaterloo.ca ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDOuKRa3mQ9ljfSVmKcX4eXNr4impOHLl4VCWfrfi6fsQnBtgL9tpCZcRKDIqdgIHihqVKGsa4q5pCt9wIZyXnYkAC61+aoWCWJYON6WDacr3WAVQ7kRKR+MX0VSZrUm45WcjQIxfNA2X63DbmOexN5aUjlqwfFdbGGkSn/tQTGblmk35q5ZSyPrS2RvaneCyC/3jM8Al//aaPdN0j+CJF41GcToEbHBqSgV7YVR6AdWuYPE5dlZmZ4Ce9xh9mcWVd7NqXcWR76r7vIVO3ZwzJZ2ux7X/TG+4gzTigHlRw0vEGgVGtuxRuseP/MAX3w2euMebtifEtvAbJGHlpjJ4SV
yerba-mate.csclub.uwaterloo.ca ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAILo5PcuOEnGo1KAIzMP/z3TjHnQqAre2xsumeAeCkNPj

View File

@ -1,5 +0,0 @@
{% for host in groups['all']|sort if hostvars[host]['ansible_facts']%}
{% set facts = hostvars[host]['ansible_facts']%}
{{ host }} {{ facts['ssh_host_key_rsa_public_keytype'] }} {{ facts['ssh_host_key_rsa_public'] }}
{{ host }} {{ facts['ssh_host_key_ed25519_public_keytype'] }} {{ facts['ssh_host_key_ed25519_public'] }}
{% endfor %}

View File

@ -1 +0,0 @@
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIAvLvnQ6Ocf/QjojRW5fPrROrsQvSr/8pRVQCNXphs4W root@auth1

View File

@ -1 +0,0 @@
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCmdYsXyf24OrBn3ZTo1rWZt55ZnE6L5DGYgmvRqwTFlrr0GyqNKSUDu+QL4NlxVRMB8IMe4inpuRb7JZuO47IRqf/KCIgWLfpsd1CMflqc2rYRVYmra2JSQ10DHJb4VGbOqABhkeB4YeTPwImr/BG4FBOm7QCqIu16RzjANXjYtGZq/s72hUhnm4yV36BHtXXaI4Ji7i4IeT2onyxfZyFcC9DcP83GUFOGtjAMumDRpJ5ftek+147gfF3dSvaYj8esFZW4geMoKXBe3B9vYAgH8z4iNbMqDc7NAVOWsvf5dSKiegrIrovNWm6rVWqYAXluJ6nkt1i5wkkM776cUUCn root@aspartame

View File

@ -1 +0,0 @@
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIGJcYRda4/NglHpJDn9CadzN6gkO4ziUI1CZ4KZ6T76G root@auth2

View File

@ -1 +0,0 @@
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCyXarBOhnkPR2cpeXPrSzBBFY5Wth7SRTuPtY0DLRsIVqAfJ/92pY79AWcvpM0DtoguMscc3iOWKhLpz5gxA3zPUOjloNMvGMHjUzC8Mwi0URJB9nbfpuE5+sHSLIcl26PbvHTTgL4WbsSypAxHNEe3Cc2uZ7JmGgccicXm6r7rQBICWmwQHjkB7rlXYNuY8Kni0lRDWNV45QUpab553wbBw0PZWmnjA1/ft8gN7ppXzBfvdPZy/OBal+7dUsCdBSsiCUu4Fowkqa5wzQP5JrfExmO3fp5mTTKWA1+ige2FJQoLhTtT6WuZ1MiMig2h/5itguxADP9X9/EFxVUsj05 root@auth2

View File

@ -1 +0,0 @@
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIE4LtcwS3RYxhPENftd//ejt9QNQqRqMLbT1iULtk7cN root@biloba

View File

@ -1 +0,0 @@
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDdi13l04LP2XMUh3cBQJK1wxPQIDd4X4dUJe2Q8t7mbF2aBbuhPRvCWqmVADzbHio7Bhw3duHRg8BsdByJXYBz2JC/BVSm4CsxWRn8M2MsvVdz/TZqb7kvoFcQgGOtDY3IFBe3IyQPssbA9RAi0XX+z/p8tJff2v6Zs6v6pEmhOT6LGB6gqwtkOqamvvadGhFqIqs3RcrCkRDuvYU8vg6yFZpNeorJjQjA2Gqj/8PvZYOMOdd1G39Xtfn/klff0zfMgG6UmC3ki3Rc3quiUCfmZ2wZcNWvryKlNtlykhnUm68gBSfV4jdqpoNvXpN+VM1xtJ7odFR+tRIXmMnqkNQt root@biloba

View File

@ -1 +0,0 @@
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIMB8dLURukblvcaECUMoKZa3WDEt71nlvlZ2qsGDkdSa root@bit-shifter

View File

@ -1 +0,0 @@
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQC1XYYpGb66vqIc0AW7+Ff97ZKXK0ptKTofkrda8+aMAZtglenL5H65crQroFswTRFih7aVuRm6tDpVIHqAgA7R5GxMMDFr2kqJhg1IgrSdGAolcGs2kqVH2HW1CDy98RjnYfYHrH9e8qKWlyLsRggf2SMoSi3e4BDSwLcSoMeV+PtQWt9kKvx+r0A2GkADbkWo+0OoWv0hB02SWd7Zqv8b8jFSRUHMhGinFBmdNG9i+C9jdJlHzElhMaDRAEddwl+dgp2En+HCyT50+cdZp0acSjMoWEak2VY7gCOn7p01Jr65pxJVlC5NS6c1jCsNWAETC5/StJe3bYs2mbEG08DPDgGM/mHKMhWxRfL5CDlh1m3wmiTgFE1YReRidr5E37dP7DdQAEoydQ6a+LQFlj5t2JMrd9t2VlWFQT4zwqi2LjqQ1PP48IWN1J2eGkaLuAm5u/mF3xa4mj9AhZJrm8TZaAqPfR6qVBK0TXRyPsCoiERTXz4w6zItharOrN48KBM= root@bit-shifter

View File

@ -1 +0,0 @@
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIEl/7srK3RCWen+dBNiO1WfWQQqx4yVs+X6M/XRYPjml root@caffeine

View File

@ -1 +0,0 @@
ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAzLf726SMtgFQODIFN0G2WhwMPW6A6zDvd+hLUZWsx5in1rdCAVgtBAnqSlIZQzG+VV6b7VF/vUFg0g8Iku4txwQzE2o0Edln6RWFcEgYgczCY/QdtQ358NyZQ75M/fzM3HyX62cTzkX/nXOLIxGs8O8lmCSRs0D2I5JW4XciFvH4tarlstCflfkiTitqOicpaU+bEKfnXlfbR6tWsm5dp0gFcowtabJnWkuMNxyFSURWfglTrIn/XsEbA9rMdPzSHkpbuibrP9TaRQt+hwph+0fOtb2TlQlH1wu4O8Xi0R/XqlWASjRrXHrU6bMSOqq9Ym4a6oBUDrZMdKdlH48xsQ== root@caffeine

View File

@ -1 +0,0 @@
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIIlEqhO7fQzl2tx14SKvv0f2p1Jhhieoiukh4bWLB5ZJ root@carbonated-water

View File

@ -1 +0,0 @@
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDsG4GJOjGXnkKCPxDfaCnBsL9Yty1CWZ/2A/ZAZllW1Lu7Y4PXHPyuKi6mf4V6C7/Sa+EQamMIHZrwO8kQ4V2AbRXXt96m9BDT/urOBWpL9sD211t7EgEKB8m75rqBcSgnnM44/crO08zht+3h97BZ6Eqp9YtqcXi1TqBFna/W02Ui9ZRJethFOxUWpWN2r12Skz7LQ+VvhOiTggb4kpUdKJjpY5hL66TfLhCionBm0OEGt/ccSsxJUyj4PPGOy7i/BN/N7WiFZf7PFouSpMiAN7GtEmUOEiiYVgsAh6M3UUpErV6B6FPpiK5mNsg1meLZvfl2e17nWXDv7s1zvKeV root@carbonated-water

View File

@ -1 +0,0 @@
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIAMztEz1IeDwR2gnmkUJ1ARH8qMb0Vye2K59RrULQBUO root@chamomile

View File

@ -1 +0,0 @@
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDsPbZrivCCDhBiKYf5KQKgVm9aeMcR8LI0s7uVzdLkHZn07YaJep6GTcr4XvW9vzW69lcyASJsUSGrIQitpvU6Zd+5sliAWRlqo0Tc86SU+0Vo/b8gmA9odFhmvENEhA7rIa+qUxSB0NmJQtCnAsJXwcbLMLw9vhbJMK8u7MzzfYSOE6THA4hT3WkfwzHcanESWdAOjd/yNNY1r1XltmAShRg4QzJx+bx4KMb2iC9XUGormQBLbJQyJmNLMlNc/tkW1vBH+8ZNysAUYQqWKjpfTYLyzGUVf6BrxgNnJLPAqOnWePyDd9+oljMZfer8Bih4n0rGJG5/M3buELI1/r+T root@chamomile

View File

@ -1 +0,0 @@
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIBJT/8C2QZ5eRyIA6Q9ZdDS6naCf9raqEo7hZUhTm+Sm root@cobalamin

View File

@ -1 +0,0 @@
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDo5+jPDT0ak6Ox4vk+EPmxNsVgQuLK82IyKvvuPHZ2qJ27ZJ6a1YxE+WiwpmKkF4BfLC0bwMIY5PZ3IUZ+gfVxiA19kddEWa97kmntsOB2oirpv/Ewvv83KflVWwjIiMCS9BlbVwtzhfzaOUec0f7jsqQ1x/J2mvAEt81vgjFeWOqmxGhLQs8sZZzeqQBZyOHral5GvcIfvBbBMAhV8E7KuyjqQsGWqOdrEThEM7a/sNmmawI130PGlOIz6FKcnBZJWxpo0L26cGIEI92lvWRs/NWPaPDtyWuaamkP3PFedAc6kX6pnU+MqZldsbH6bDsPq1iOryU3y8WebdTBGVh9 root@cobalamin

View File

@ -1 +0,0 @@
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIDWezKQtIfCb/JxML8H6gtZOt5iiLd4Ix6Vaax+cHzja root@coffee

View File

@ -1 +0,0 @@
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDF/hEcmyYeG+sqVL+urSAvjR4jkCrohTjk63IivxSxFWcflKikAWGBONS52FFveBdbfKVd9yIOBHpTl334Q7g8fVtDjRc8rhW9pcu+t5ImFv90NqQ3fhEIQOj/3B8mZ5xuqfE8dcuKwXd3QsyDGhwwBoDOanx/STrFJEJVTdeXPLJSA80LNV5oExSrsZ3yL7SkUdQq4ogVf6RkROSLWPHSXUUcTZzzkCztFMbgOIQEMejij9ZTfWMZtL2Ua5kCXk2d7peY4tM3W+ggHcOu0EzU7QClq8SbiaJv1LhhHBYKIYH+c14ndyici+hhrkdKHWR10O7Mm2eGETbffr4y18BN root@coffee

View File

@ -1 +0,0 @@
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIJQYiN9/mUUBcJx4lOCnm9W9n91iKvAY5cfcnoRzNqKU root@corn-syrup

View File

@ -1 +0,0 @@
ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEA1Y3qdNiwgOQzHXoDnRozSJ31eGoVYldmG3R2Rwa2rXNUwKVeVx612GxANjPaWrMyJ7bYEI1x7xtfdxKRcz94uumeqnR8cBTNKhxd1vtx0J64TcmezZqZdTAJZ11NVLRp+cuYPNDY62PNRtfjlkXMZ1BX1QFgNQdpARkXkLlDqAkkhaDVMhtXg2/3Z+xe5cizcwAjyeVjWlEpYrg+g2CKnpL6/hF9WZT3OLYsUDqVGZS0tDrS9nOuPuNQFdHZPUdaaNx7Lv+k8D4Yxeauc8EGGD2qEJ3xTh2P7FmaYbDc7s8GIYHa1lKh87ZULNyD6G5ieLYjSCjyHjVrmFVJM8woyw== root@corn-syrup

View File

@ -1 +0,0 @@
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIDo3l7ZgezN5AnhqcxDENRWI4d+XzQ2d3jU06cCrxdlk root@dns1

View File

@ -1 +0,0 @@
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDEI6VGY4MP/KUvRmAZe4zU5uBS84+r1r1CCOqMrzUniLVeDeEwkLVOsVjzAA3aTrZTPHu74SnmIeFSgD8N3ZmLsRX1J5MjLyTueQWhW2CfVVmJgm2HKRT+oACd/ICK3igeLeLJZbHX/kWj3fpIXH1qPEE5FG1RXZnl//YrqlHfD5bhAkoc8T9f4tVSi2uCBLsygI9YX+TMgslVMaoAPtUOsNoHX86tC01PnJdZeWNV4mffsezritwANOcEHwer6ae8KvMHyTn1PNS+JliaUjM1sJgbcrKLgS2X3WiJobm6axTsoTtAuwYifhaRTKqoAOVowk2QnwyjKimI/oYNj7xZ root@dns1

View File

@ -1 +0,0 @@
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIJ69SS+uWofWrv6o/1ayfDl4dYrXdomif482cTVbFpyb root@dns2

View File

@ -1 +0,0 @@
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQClthQ42O/5q46PqkF2Gbay+RQthHvRghnN62hDV+g6ROEyAHbsTZZH2GNadLAuCkiVMTLk7XXFaAXAzXGwKlnt9SML306U6gIxriDJ5xW2Qq1LzvAFcMGRLA0V7HhxHfQveHPiAOTjyBDXr0DL8JNvvw5RlcjATHkUnEIZMD8OVR4n4lZ4WWQGGimWekN/xqxAbICasvSeDVBlYlN2mlcjB0xuRbDJl9itbHW5lk9VIaSuCwc+Q+xcQI3jtWsz2baQa+yCfaHwIHys3ChN6AeW61hdWHRvYtsSvfnIyVXqGejADrNuTqJxMgFx+04JehuOrzNtLlC+QPaaN/F5abt5 root@dns2

View File

@ -1 +0,0 @@
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIMZvm5HSmM/ws9ufNGX22+N8DX0I97b1Xk4tnXarJPwG root@etcd-phy

View File

@ -1 +0,0 @@
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC9oYiZYxbBtwgNvf1YWm9SPSrhmL4l/sflJyTyAuXspqjZdJ6hD2rekssRnANK/A2qy/1bCX+8dM5FLoU0jg2lAPO9m8OifyrcFaeu1K9rohL9g6xy6DO9+2XHqSrZpnojzbtkNmzSFyuOftJLl2NP2JKo+++ZJd9GPOiKzCWfIRIh5ir00boaFp1b7YtvYVINbH2esO94ArnQdseEOI9lnPc2/40RfCYANxjluOl8JwWH8KKlAcB9piv1qTWHDH2BKkinvcVjDe9+dJ/iyTlGe2BOqvbTz6JLwSK4E07In3dLCYTgfWYozmpHcNOfdc/NLhspyt6IufAFrcwBwJJl root@etcd-phy

View File

@ -1 +0,0 @@
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAILV07xCAXmf9VJ6Dyx17+eRs3wRQWPiFt4h2Rjfkgadv root@ginkgo

View File

@ -1 +0,0 @@
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC7a1fj72/toOLO7j2xCWjGV9LclAeSQhHA7AH55QXLpJ92wEJ85PDwlUUwR4ARKiSk5NnBpoI6RaEsuMBfmbghtXW4EYPz03jtenPPAku2Jkn4QH9Ijf6T0wzL2V8f53+bdqkTGc23/oQpDV0JjS6iSBREI11TT0TgO0KKh+te+qMFYuBhJCHqrZVWQKXoquGRPNZuOT9xZ6EOMMgL8tLDy3i2zwxgkFYcgaXVva9+fIR8PQm/4FK7dhXK9T2x5UtiuhQ3qcqr/oNjrimn+uYQjMuASzO4v/0/FvG/6Y08YKIcdC/3kCZX4DBSnajE178ahLEH4lveyLWpYtrEOAAj root@ginkgo

View File

@ -1 +0,0 @@
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIC6yuHvichINMFx6Ur6kys3VzF9prSDoIFmYPP5qUKj3 root@guayusa

View File

@ -1 +0,0 @@
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC88UgT1RuYgWapX5Zjt+SqrdnxjfwbtnavhzCKVxNU5amXuRc6YCBWkisk9szFCmq5uFY17fyx+dT8lBgAjTuqD1y7nZ9tyOIvnJWWIVNIc4MW1N0/VDDNR/jUedFQXUxJqbPTnPox4dcgACF0EB4O13mIIjrdhESxGXHDlOHNgvYOLwWzbglY5oj06dBPtsFf/NVbhe8J0h/lI+6kwFanhZa+Bbahwr56lXCf4bNxC//DS+CAr4VkQr6OCp5hUZwcdnCBiUSOjck7aOhEu8exvS/iUErX4lmObq5slWcQl7IK6kXcI8yFqpMUKxi5sCQIQSE5tbvKy+M1Jqt7AaQT root@guayusa

View File

@ -1 +0,0 @@
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIBUo1SiyHNoMryBYd+fxrxZZT3FYSUjf2xs4J7r9WzqG root@gwem

View File

@ -1 +0,0 @@
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDzQFg7/6hX862qyt/I/MTNhyMLNER55aBr6OIB4TDlZnOMAImIbeYTlUFxgb8JYHzEaQm3czfk11CafdakCKOlMyorInO6V9QNVtZwZzRYY03VEHONmcDV5ulnm8rP7/88MKaFEfeBqeXmUh7BIvPHLIgbgghqvtyHUqaAjNVVAKkxqcMsyUeKfUsW1okBvktHB0ToB+X/GZV0Ivi2eYNvpnFddYcd0p8gal+MqK0AyapqyeesQSsMDL5fjOs5ZOtFp55g9DsRftbLMPfsdBzXv+T8+uRKSt6sfpBr3hnmXCjHQihDRfkTetpIzn3uwoUnRAEQS5X0LhFaeWgB3O41 root@gwem

View File

@ -1 +0,0 @@
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAINx6o3+z5wJxIs9zYSvf/bwzsWI5Nm27Sf/F3kvp0aYs root@high-fructose-corn-syrup

View File

@ -1 +0,0 @@
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC/XkcWvw/JAagtCFymBySJpnPjx0Uk0KTDDtdwNqeHH4/GvN0R8KWQNLg/2eJpGNIt8geTyake7Hg879rrHEh4RZrDkz9Zu8yTrV8nGGf2tZ58NmEo0CQn7I3wziNcJHpl1MQUXmtua8buvUNL+l7F+yag3u+ElPeQd7KAUparF2n9pz06kK4U3XEvimgOnTqbJaqP39ki/EjmUhi0I6LvzpoOdA6/06IM+EkVi58l5mu1vBffUpzKQXIOSJf3j4y/zEYqEkO7rHWdZJn0CVMG+cfYxry+GC3CRonw5MdemzU3wd+e4KI/zsdvfXBJwqnhAIN6Jq1hbtodLZYODp/v root@high-fructose-corn-syrup

View File

@ -1 +0,0 @@
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAICyt77ru/ViAIvaw9Nca9zL8Gqv5VwNGZnW7LCQu+9WP root@mail

View File

@ -1 +0,0 @@
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDTas45BY/7HZjNUgwJtBSOMNVK+/eMM3r3EJyXMaNbnsSa0SrZgXmu0oA39uYHZD++ejn8tYsGqTtTHgIIcCAgrFWJykzGS35lq/t4YcqWqJLbTO2UiNwbi+VBEHWSRF5+vmYgO8ApuksULLsTy2PwfV6OoAqWtLiKcS2nmTRYuRqJlBNPkEVDjgREseRS+uFPK42cEhL3NNvHaHOxd5s9iamWFPVyH4s55MIASNMFzy3O3FD0Ewg60sTqBt1i4bqZcEC+ONYkm8/QFEJNcldIyn2XPN2FhfQ6QhCHnC/X1Z7ok2LFDsYo4rNd0eQrwIiK4KhwlwQg5/eJhTgbcig/ root@glomag

View File

@ -1 +0,0 @@
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIPFGFmDi7qlCVmlBw5EbaO1FU0khMjODA16EW8JOso34 root@mailman

View File

@ -1 +0,0 @@
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDcvIN1SSL4G+N3N2t5OMiChcXbgfsAEc82ICUuqMHVCLXZ6zSTx7iXQdkmhLzNoNUwzdcei8KCt2ThLaFfzc+kK5LWZ/FtcmcsIrkC0hvRMaMyECA22XAFr/RcqzCH0Q5w+Cm6ukcONhiAUyDQqSJxqd1yPIkXh9oT3ZjH6iDuORtXNz+f2MQLCREuSpQyplXrir/ESR5w/I3EWEg3Wrdiksw/2lP2DzwD3Nudi8wDAZ9LyTgjB1b2fQIML6zfhKfWIchJiNFZDlRthsiBln1poLQioq2M7bFBO//Uf0dhq/Pi56dYbkex3RTzxGpKZtWWISBpl0p9iLqeXx2RlMt0e2Yp9jvTHbtyvvXDii384q7fgY9zijKt/d51EhSPM06qMoZXhsj3q8U8jrxGFJTBHSzsPd3lE36P/F9qlpHNBMC75wj80t1KrzZ/AJR9gzpA5524Is87q6dvx8QIoRlzHE3LZfTqKe3Y477u8tYCSQ5gNFa03VVXtVLAI9LegN8= root@mailman

View File

@ -1 +0,0 @@
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAINpo9EqfEkFPRj6AVsk2XwGT9eM6OtnSRxfOrV/cdrOJ root@maltodextrin

View File

@ -1 +0,0 @@
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDINydeWNmqn3PAtvR4mJwI1equy5a5QYmWLqbbU4g2BxMt/t231bP0/MSgjk2hDslu96aYUREZjx0bgx0M9dlcaiy7UqXESXL1wROPAGqH35F4ZLH1HRkxI6b2vfysh3F2bfh+6A30ItstyFh3N5BsJufE+S1iSyTVxdJ9SLLi/0mC7pOymV3HEVG/B4EgSqk4MDBYVPO+jI5iKwDbcitvnXq7MxGQT/Svr9QHfK5o8Drl3gD46ZhF7JtKQ0ewivcfPnulhQkraVo6CaqnXerUPXGZn2JSURh8IRL/xLj8mHuZ75/rpQZnsUdOXIGYMqEOIthL5j3HGXR6pg3lHKlf root@maltodextrin

View File

@ -1 +0,0 @@
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIHBwWIlKsqicBIO2GEESK0o/50vksGS3sOTDOZQyBozD root@mannitol

View File

@ -1 +0,0 @@
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDl/0vrcgl/E3ybwdThwQlk9VoTMpVmhtTfuTH2mV1sNL/bQv+RVa4CArntuoxuI+d08PzzvFNT63UGMKmULoBrxiR9WcvnvVBYKZ2Uq0mZa7uW2xCk5vhTbr/LE9FxgwukwcsbFuC+8RFmy+qqwcWdJn45Iha0FbbLgwzAanxD3vUFGOT9uCvxhuQ4qbPwJBmWYOBOBwHS3wIo0buizqNkGW+ZyPJO7cl3ODMw8Q6QrRMP3c4zrvRrx7pK8ZRzrYfP6OjriipRRlcjKcPWkTTi5QQeTDQp4+X8MPukf9c16wE134MMzOAlSp9ac6Hc3Fo9YF6532p0OucdV1qdKe47 root@mannitol

View File

@ -1 +0,0 @@
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAII2dttPz6rcDyIGM5NYKx9LURUQNgzSGEkSVEuP+OdjZ root@mattermost

View File

@ -1 +0,0 @@
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChF3yXKmHgNXZ0lk9K62jJ2SyIQGcrB9NQkZfsX6UtQqaiTV0CTih5r3QBpfrqvSsuJGNEyJ4X1euN5YbuiSMsyjvNJ6WRo8x4B4WE5pPdu3nUMdxT7oPdX6dajAlyDfxPRDyYX1nhimPx1ZuFo3+DZ6LoLkJ2k3S7BDpXbByAtWYd7iKPjmUqWhJ1ic3mqCXYIOoWEGx2rDjZTtQzw35HTvcudOopkxsuWR4o6BW92e5cA0Dpz88zfDFcVfiuPJS1w/QmaYkhHN8lo1Ji3B09hVSIeO9Ii8zDCRPw/S7QYgfMQRRbQuoUtfH9hRHqZL/ycpEtYs9SGG1JWz5WOjK3 root@mattermost

View File

@ -1 +0,0 @@
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIIc2OFHM1FI9SLnd94+H8eExdmwRnQQO5axNZBdPR0Xk root@munin

View File

@ -1 +0,0 @@
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDGasfjpaAvGwIFaDUd7MVs+hlnXKbFuzz07lUkAH7LvtqQdfNi6ytBLar+xy52O2e8Dx1Id+zQIgy+69+mDY3ewJZ528CIlKTOutJIDQq9gr9NngZwVnz1Jhn5otFgRMcGRDjVcvU7Y+/krP1Tlty12Udi9Bxe0d3gbysMsQTmLqo/JgfjQ1TlfQqJbUQNFUESTX9lgxvRN+IZpI+924EphJ5dz5Yt9IP9D60BnLOPgG0Lo0QEUom6S32gE9aKSFp6Zd6bSTgMYM+zGRaLX36uwFF+SW36QxvhJOjoOXsTRJd0ASwcresqj1fIPhohYkwhpeBgR6O1uLSuhfklFY/z root@glomag

View File

@ -1 +0,0 @@
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIM8aYjlkPSts9u/HHwG3MPWPqvYx1eQ8EyfsHdQZvQmH root@natural-flavours

View File

@ -1 +0,0 @@
ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAxB8N1u+o/74IImggUHbW3l5TL6DhU2woDXxBS5h1e/tNlWpPWiAZUym8WQEARfPFwgKuz/lpGEPXHB4RjxBUO3XD06MqIltqAok231GB5JkjUxIV+0+prqNYn+69ddWGigNMHngy2x2K/hyb4nk2TmvqtYFPJAZvhv8YcVwQ6KZytWlOT0RtkLWr4NG+JpcUqFRbaAfD9Bb5xUTBmeEPTV2tE/XDOttA6unSl2bwZUhy6E5A5znk0/FashGCr/tpDeq2Sm7Fg4TGf/LX3TQU8myXL7aJxjOZlQ09LF/r4k8Vx7lQjZ6OF3UxIs52yrv5RaiIkCOb+FW6AlPSJZL9Jw==

View File

@ -1 +0,0 @@
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIFHKfUU0zLGUL52QFEgWjEX9IqfMguFfacrBkoyZ/5Wp root@neotame

View File

@ -1 +0,0 @@
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCucFmVnoxzJueaDLxcV3/e/1/J5N3c30GMxBjXwijxxx8ummYEm+prHW3/zfGIY40Ygf7wkfa3wgXuGIcX2qOlO4RJcdLsoXgM+30MWs6L2QPGBgZVP8lB0B1VrjFX5+QfOx2ZF7yfjeL1caPE315h0Ju4AXAN5kkqZqF7lJToMdFo7GyKEgFI7bvnx//cZBs4ioxAtxzpS6E43yHJkijzIuTudJqH5EwiXwy9s7Mc+QP9uJnftS+fL3tea9zgn3yZKoXDLdwJuEzXbvhgwrVgGmCce08ETy0c/zwfR0UT0wvZexzQpvFMRNDWPl1kQCfE4oIiQ7y0kDef6QI6B4yl root@neotame

View File

@ -1 +0,0 @@
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIJPPDfTxCsrCsRvR4cdtH161anSIl5UL9y8oeelctHV+ root@nullsleep

View File

@ -1 +0,0 @@
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQCmHDI7s+OV0nUYvha687DTx4liIVc6v99Mpu0vcSy3UPu0f4B9CNOL+ZJbnNMFbAKd3Kj/r1exWt1rsgAj8WRHy79qbCE0QZ8buCchRmYf2N8NJ/+bVj2hjMc7m5uxalSLGqggLIOMiv0pNwew6t2vPD8tYFcGmTunIDUZdsCliZ91GaYo0P72MwqPrhTSsLWnErb761vZyVULInjcjYO/IjGifnue3Z8pXcnsHgC+Pde7laBALrlvV0qzi7U88Ua/NmHSmQNKeev4kaGbncxQQKoHQemJpc3+KnAWsZJG6g913vhWPjLS1kW6f9NXOfGkYCA7HNKqcTH5BkwV1KOKe5LR+9Y3+2xTZjSNILaV1ljfiKN8CPudzZ/T6l1wajsH9A+i8oecfEj2EfUdUM8kzYedZt4Dw/RVq+CVpqxKpLTH9d9bPlowGhd4f9P1XfxRxGMKUJOa+FO5G5ekrF4ceMbUIgLhgL3vB71g/R81fZaEDXTa6x+qdiTbo4oXtXs= root@nullsleep

View File

@ -1 +0,0 @@
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIOREvEW8G1rbqkz7DyrMD1QrLvxt28ajP/crJe8Lt0Qx root@phosphoric-acid

View File

@ -1 +0,0 @@
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDEp3lvRFATMbwUkKDxnKaTrWBgXsOWoPWVK24JE2cmPks7qzxde/OkMvx2XYHEUKNgzxSOyw/YBdFENEkbnOunyyqNP5ygb4hixaEH+aNmc7bAXE6lsIidbTwn4o2KeKG7FWLTlIk/kSHA4aNYxdeuQzpdUip3fmFfwfn2JvTJMHWI0KgMBWuIOQMFnEf+owRYnb0wSuEZFR46bZT7moA06A4PSB1+UlZIyJ+QN2rA5MkjMzvEEasWiJSpsM4W/QRmh+le2OMrNiJSQAhcI785/gvXNIFQZNG81QXiBDQ4XB8t1tbeTuRRDEgtmREVc3J6s6xgtdSO/mipwp280An9 root@phosphoric-acid

View File

@ -1 +0,0 @@
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIHQTR2Zui8kaLLiQeBFDkkvdVEJ6+rL9Ez2QIMWJgu0Z root@potassium-benzoate

View File

@ -1 +0,0 @@
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDO4ZqQ8XG7fmM1o6v6g3Ac+ljP6j4HnyrPA9dNjVWMxjM0KhxOtKWQZufAFcLBvmh/myK13cJnnrHYjq+ZIc4SH2LRTW/nu9Tdsj/BPbCiNQrAk8JLv4fJJVhysT3XWRlvJaN7xTwUdQ+EEPSHFj0KB5OevONwlNqQ+2GKGrkDRnslxY1Twgj+6WxGvY+mFBpid+v2K8ypb96zNOI2azwUvRMrFpgntRrqCiWbvsy4KZEikhSv/VumTb9YlyyjqMhqJgv7zKAbYf/VrlSHvO1pb9lbEGZmaS1P27m7sr5dfHMy5YeAG4NCwtsXXz8vz9zl9LzS08/Eb93rk7NiX17r root@potassium-benzoate

View File

@ -1 +0,0 @@
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIIDyrYEfmjvo+ArpqUyuzUeQbKWLiniIcWDIoAkIS2yK root@progcom

View File

@ -1 +0,0 @@
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDNjB1iigeXStSM1ov3Uvh9HJdVEWDqVzshH2YzbwhYC/vB8RLpNAb0g+UIK9s3YJJ4Q58XzpWrCZTq1bOryoB2D6dnX0GSqw/M0ENMqIl/ftOpWrGgsNjPwXbTNWxw6Mb1oBBkFr+q6slbwN2gF48IKphmbFKFasE7LH12Uc56i5HXAjLTCIgxurviXKMP5okg86P91jbuN/jMy1osiad6jAKaWhlcGq40ntyZCvK2OkSK7fZ5joA4xKBr2G+Wu4cNi6e6w2ZjxBCuZBCP5oK8lh1LuxUQksyovYWeZMM8rP99wxq0CusbsPjm5OZP4GsFQKU/bRti9joRumfM0JP9 root@progcom

View File

@ -1 +0,0 @@
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAILMDw8IjwgClwwI2x+JfCAKWeO2DpMPSErsbtYrkoFOi root@prometheus

View File

@ -1 +0,0 @@
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC+5HhLGTgUb0FVpdBtCF5w/JoFGVlgw0JXABAsxPweOWYaOLcc2fG6Fp6wratGbGBqIDguIZDzK1lD6niji74Uyeo/erPJNQJePlQRT7hH5zhuxHka1eY5nher/MjFsu9J57dIlCQ2UQg3xRqbDfSKIWhsh8VGwX+TOojQy3loyQqISOvqqNYqTCF+TsEEubPffvvagqRT1JEKVQ/64eBuC+VMewpZv2e/1Z67B5LwRsyFTKzPQVIcNbNNjl+6WGAbnsBTUEkWBOvx+iqhWXQCW4LbRWOLkDMAY1q666I/3d029Fh0QggKc1gEgmPXNukPwUYxNgLctIBVqV0u/WoV root@prometheus

View File

@ -1 +0,0 @@
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIDMV/P9dCMkW4GA43a1FlOpM7ifHdI2MyWnkmLoLs/GT root@riboflavin

View File

@ -1 +0,0 @@
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC2DQN5wmaDyyxojGz4NOl/lGElSxIrlGUBdYcbMN8gIW9H5TazFuitfIyoVNz68CXyNVNhNXybGqUybzBrPA5QRviEnff/Sywq1AREBgYeuhwwn88JTTx68Bwsx6fiRRKm2+EISN9N3hu1AeE2Hbqh91GhgWBt8WOroFD37Ryk5AV1mL0LsOlBhsPd55GmQKlFpC5t9bsnkJC4ZyVFE3LtDadr/JEJiQRrZqVrdBG39cv9e7lFVts6MZ2Z19hs23NX8pl6ZKkTu5zZN6aox6n6debEVX3dRCbNYFGs75tLieSkUMY7STAcvu1Wd0LSvdCvFV9ba7SFACO+FG1rQjZp root@riboflavin

View File

@ -1 +0,0 @@
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIGhh51yhgdLUI9bq69aqtw1rrPo/y8O5339gaBFEH2am root@rt

View File

@ -1 +0,0 @@
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCvHWacOC003Qkp9hzBOBeH52MvYJkvSSbRgKdmaUVR5HB/MlqPNnp3tfw1kF3gdtM0PUU1NbZ94c7rRWRWYIOavkNr6hXzDFHACX7VGub8Hg6024IuoVRnmvgDcm6rnRxedvhN4OLpXlePXcmbtXQ302861cyKXTAzup0O5hAbuEqGvUhtR8bt3ATW5ucYmU+JinlV6gMcCz6UH69X3dj037mu5IxLJoSaknT6v9Zm5tsK2EfFe6/CqLN6tKyBuBWegdcXTJ1hNVCAIL5Ayz3wqcuPcRV25hTFddcNXUYGSnwUUk2rO1sSb0X9/RQ/OiH5bdVtSel0gi28Ap5+d0jd root@rt

View File

@ -1 +0,0 @@
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIDL9KkNuGJ4LFo7uMs3ldd7b13gkg+CSEubYQGv8EGPz root@sorbitol

View File

@ -1 +0,0 @@
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC8CIrohMD4Bjn3xgFbkg9fAlqm3txjpneL7JGRe7FjcogWIEnWiVqjzgTYVQceIka7kbAqWB0yFkLZnLY3ZtYUAfQciyepuKiknqqzFgUNSZwJzz2+BmBddsLlVsudaN710zkHf432KkskLfhs873VPtMxkChHUrqHcVv+QVfBCHHNa4omxOalNFnlclw4ivROSc9INKoWdDWKTiAnjyvWUiwORDpRyZWtdbGxs0PIvFx1OtEUeSvlx6WYaxPNe0irLqY4QcSwBlfQZ5Z/kle2Ru/WEDZvcp/9txYBTT//b+08PPTeQVwExu+ay8Z/reb0z++Ay68qW1txSO3M9o9B root@sorbitol

View File

@ -1 +0,0 @@
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAICcAk96AtqG1gJd0yc5YQbBHZlzq8/0MXf2b/q7Z3ZGo root@strombola

View File

@ -1 +0,0 @@
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDZhdxHj587MfoUcfTR72ouS1VeRaivD9ZpbAULl7od73Uo4xff/sIuT4hhm+gyQGW9gKA1mQfuhJ34nXnEulaWk3R8dWMxwn0lRElvbIG+bcrCCinKNU2RRoLOCh2cmri4bEF8PaejN/kt91CSRRT4Sko1tG7P58GedrOAxJDmsq7zHoTm9JTAJBa9AuPo6TgurXLN+6zQ+eCvBERcMgPLG8G2bhZg37c/scdI59s0om1oc6LcOSgGkF3yxmBmkSxvworr8rCXzVWhUvbNAdd0P8CI0zBOxxWuUi1/Q0PeRyFmI/T+6DvOuzXKdQgpOZj9dR4rfJb04V/s3C3d+DA1 root@strombola

View File

@ -1 +0,0 @@
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAILYdv1TC4b7N8S0/t6Xvyft0mjrM9d4b54Frj8eQLLQx root@test-ipv6

View File

@ -1 +0,0 @@
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDIgYxewDMHZrNw1yRthPwQxcGD7CBFEWhAG5lKn51lq/uynucz5HBfouy7LU9PTyAJa5FsYVK23eDEHCppYlL+3TwU3gYyC0mEzsM9g2oJPCxvqH59p4qftyNKF9sgv9bkadYf6NT6MMtBlWYN7xLZPBfJkshQEQu85S+zD3JHO8bF7etwWn3sX7gbTheO0LD8jzj6G2AyRTWpkk5v8O7kBiwiZOoC2ehcSfqaxAVqxYbawi+pQ5iXfX8A5RXduezH2XcRKD2GG1/f2nMALXrEq8OrRH7UVFJUPPViQxNnk4D4w2THkNaEnT2/8YcxelzFFY5EhW9pEOBXjZeLRzGr root@test-ipv6

View File

@ -1 +0,0 @@
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAILo5PcuOEnGo1KAIzMP/z3TjHnQqAre2xsumeAeCkNPj root@yerba-mate

View File

@ -1 +0,0 @@
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDOuKRa3mQ9ljfSVmKcX4eXNr4impOHLl4VCWfrfi6fsQnBtgL9tpCZcRKDIqdgIHihqVKGsa4q5pCt9wIZyXnYkAC61+aoWCWJYON6WDacr3WAVQ7kRKR+MX0VSZrUm45WcjQIxfNA2X63DbmOexN5aUjlqwfFdbGGkSn/tQTGblmk35q5ZSyPrS2RvaneCyC/3jM8Al//aaPdN0j+CJF41GcToEbHBqSgV7YVR6AdWuYPE5dlZmZ4Ce9xh9mcWVd7NqXcWR76r7vIVO3ZwzJZ2ux7X/TG+4gzTigHlRw0vEGgVGtuxRuseP/MAX3w2euMebtifEtvAbJGHlpjJ4SV root@yerba-mate

View File

@ -1,7 +0,0 @@
---
- hosts: all
gather_facts: no
become: yes
tasks:
- name: fix ssh_known_hosts permissions
file: path=/etc/ssh/ssh_known_hosts mode=0644

View File

@ -1,20 +0,0 @@
---
- name: Gather ssh fingerprints
hosts: all
tasks:
- name: get pubkey files
ansible.builtin.fetch:
src: "/etc/ssh/ssh_host_{{ item }}_key.pub"
dest: "fingerprints/{{ ansible_hostname }}_{{ item }}.pub"
flat: true
loop:
- rsa
- ed25519
- name: template ssh_known_hosts
ansible.builtin.template:
src: files/ssh_known_hosts.j2
dest: files/ssh_known_hosts
mode: '660'
run_once: true
delegate_to: localhost

View File

@ -1,50 +0,0 @@
#!/bin/bash
echo '<?xml version="1.0"?>'
echo '<!DOCTYPE cscpage SYSTEM "../csc.dtd">'
echo '<cscpage title="SSH Key Fingerprints">'
echo '<header />'
echo '<section title="Machine SSH Key Fingerprints">'
echo '<table>'
echo '<tr>'
echo '<th>Machine Name</th>'
echo '<th>Key Type</th>'
echo '<th>Fingerprint</th>'
echo '</tr>'
for host in $(ls fingerprints | egrep -oh '[^_]+' | egrep -v '.pub' | sort -u )
do
for ktype in rsa ed25519
do
none=0
sha256=$(ssh-keygen -lE sha256 -f fingerprints/${host}_${ktype}.pub)
md5=$(ssh-keygen -lE md5 -f fingerprints/${host}_${ktype}.pub)
if [ ! $? -eq 0 ]
then
none=1
fi
echo '<tr>'
echo '<td>' ${host} '</td>'
echo '<td>' ${ktype} '</td>'
if [ ${none} -eq 0 ]
then
echo '<td><pre>'
echo $(echo ${sha256} | awk '{print $2}')
echo $(echo ${md5} | awk '{print $2}')
echo '</pre></td>'
else
echo '<td><pre>(none)</pre></td>'
fi
echo '</tr>'
done
done
echo '</table>'
echo '</section>'
echo '<footer />'
echo '</cscpage>'

10
hosts Normal file
View File

@ -0,0 +1,10 @@
test:
children:
debian:
hosts:
neotame: {}
mannitol: {}
vars:
ansible_user: root
vars:
ansible_ssh_private_key_file: ~/.ssh/id_rsa

View File

@ -1,65 +0,0 @@
- name: Install common software
hosts:
- general_use
- office
become: true
tasks:
- name: Install software
ansible.builtin.apt:
name:
- zsh
- fish
- htop
- ripgrep
- ceo
- vim
- emacs
state: latest
update_cache: true
- name: Install general use software
hosts:
- general_use
become: true
tasks:
- name: Install software
ansible.builtin.apt:
name:
- time
- parallel
- racket
- build-essential
- git
- python3
state: latest
update_cache: true
- name: Install terminal software
hosts:
- office
become: true
tasks:
- name: Add VSCode Key
ansible.builtin.copy:
src: files/microsoft.asc
dest: /etc/apt/trusted.gpg.d/microsoft.asc
mode: u=rw,g=r,o=r
- name: Add VSCode Repo
ansible.builtin.apt_repository:
repo: deb [arch=amd64 signed-by=/etc/apt/trusted.gpg.d/microsoft.asc] https://packages.microsoft.com/repos/code stable main
state: present
filename: vscode
- name: Install software
ansible.builtin.apt:
name:
- code
- kate
- firefox-esr
- chromium
state: latest
update_cache: true

View File

@ -1,96 +0,0 @@
new_office:
hosts:
bare_metal:
children:
general_use_bare_metal:
syscom_bare_metal:
mirror:
audio_sink:
containers:
children:
general_use_containers:
syscom_containers:
general_use:
children:
general_use_bare_metal:
general_use_containers:
general_use_bare_metal:
hosts:
corn-syrup.csclub.uwaterloo.ca:
hfcs.csclub.uwaterloo.ca:
carbonated-water.csclub.uwaterloo.ca:
neotame.csclub.uwaterloo.ca:
sorbitol.csclub.uwaterloo.ca:
mannitol.csclub.uwaterloo.ca:
general_use_containers:
hosts:
caffeine.csclub.uwaterloo.ca:
office:
hosts:
bit-shifter.csclub.uwaterloo.ca:
gwem.csclub.uwaterloo.ca:
maltodextrin.csclub.uwaterloo.ca:
natural-flavours.csclub.uwaterloo.ca:
strombola.csclub.uwaterloo.ca:
syscom:
children:
syscom_bare_metal:
syscom_containers:
cloud:
syscom_bare_metal:
hosts:
#xylitol
cobalamin.csclub.uwaterloo.ca:
potassium-benzoate.csclub.uwaterloo.ca:
yerba-mate.csclub.uwaterloo.ca:
phosphoric-acid.csclub.uwaterloo.ca:
cloud:
hosts:
biloba.csclub.uwaterloo.ca:
chamomile.csclub.uwaterloo.ca:
ginkgo.csclub.uwaterloo.ca:
guayusa.csclub.uwaterloo.ca:
riboflavin.csclub.uwaterloo.ca:
syscom_containers:
hosts:
auth1.csclub.uwaterloo.ca:
auth2.csclub.uwaterloo.ca:
chat.csclub.uwaterloo.ca:
coffee.csclub.uwaterloo.ca:
mail.csclub.uwaterloo.ca:
mailman.csclub.uwaterloo.ca:
munin.csclub.uwaterloo.ca:
rt.csclub.uwaterloo.ca:
dns1.csclub.uwaterloo.ca:
dns2.csclub.uwaterloo.ca:
mattermost.csclub.uwaterloo.ca:
test-ipv6.csclub.uwaterloo.ca:
etcd-phy.csclub.uwaterloo.ca:
prometheus.csclub.uwaterloo.ca:
progcom.csclub.uwaterloo.ca:
ceod_machines:
hosts:
phosphoric-acid.csclub.uwaterloo.ca:
biloba.csclub.uwaterloo.ca:
caffeine.csclub.uwaterloo.ca:
mailman.csclub.uwaterloo.ca:
audio_sink:
hosts:
nullsleep.csclub.uwaterloo.ca:
mirror:
hosts:
potassium-benzoate.csclub.uwaterloo.ca:

View File

@ -1,8 +0,0 @@
---
- hosts: all
remote_user: root
tasks:
- name: mount NFS
command: mount {{ item }}
with_items:
- /scratch

View File

@ -1,9 +0,0 @@
---
- hosts: all
remote_user: root
tasks:
- name: mount NFS
command: mount {{ item }}
with_items:
- /users
- /music

View File

@ -1,15 +0,0 @@
---
- hosts: caffeine-00.csclub.uwaterloo.ca
become: yes
become_method: sudo
roles:
- common
- core
- container
- devel
- generate-hosts
- auth
- csc-packages
- general-use
- static-ipv6
- cleanup

View File

@ -1,19 +0,0 @@
---
- hosts: office
become: yes
become_method: sudo
roles:
- common
- core
- hardware
- devel
- generate-hosts
- auth
- csc-packages
- nfs
- general-use
- general-use-gui
- audio-client
- static-ipv6
- kill-user-processes
- cleanup

View File

@ -1,11 +0,0 @@
---
- hosts: prometheus.csclub.uwaterloo.ca
become: yes
become_method: sudo
roles:
- common
- core
- container
- static-ipv6
- auth
- cleanup

View File

@ -1,15 +0,0 @@
---
- hosts: wiki.uwarc.csclub.cloud
become: yes
become_method: sudo
roles:
- common
- core
- static-ipv6
- hardware
# - virtualization-host
# - generate-hosts
- auth
# - csc-packages
# - nfs
- cleanup

View File

@ -1,16 +0,0 @@
---
- hosts: webnodes
become: yes
become_method: sudo
roles:
- common
- core
- container
- static-ipv6
- generate-hosts
- auth
- csc-packages
- devel
- general-use
- webnode
- cleanup

11
playbooks/test.yml Normal file
View File

@ -0,0 +1,11 @@
---
- hosts: test
become: true
roles:
- core
- csc-auth
- csc-packages
- csc-filesystems
- general-use
- devel
#- gui

Some files were not shown because too many files have changed in this diff Show More