Add core role

This commit is contained in:
Zachary Seguin 2018-04-13 18:06:12 -04:00
commit e8917ecf07
23 changed files with 1168 additions and 0 deletions

6
.gitignore vendored Normal file
View File

@ -0,0 +1,6 @@
log/
*.log
*.pyc
generate-hosts/
generate-hosts-*/
*.retry

475
ansible.cfg Normal file
View File

@ -0,0 +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]
# some basic default values...
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
# 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
# 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
# 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=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

5
hosts Normal file
View File

@ -0,0 +1,5 @@
test:
hosts:
172.19.134.38:
ansible_user: ubuntu
ansible_ssh_private_key_file: ~/.ssh/id_rsa

0
log/.keep Normal file
View File

5
playbooks/test.yml Normal file
View File

@ -0,0 +1,5 @@
---
- hosts: test
become: true
roles:
- core

View File

@ -0,0 +1,6 @@
#
# Computer Science Club
# Logging
#
#*.* @@logstash.csclub.uwaterloo.ca:5514

41
roles/core/files/ntp.conf Normal file
View File

@ -0,0 +1,41 @@
# /etc/ntp.conf, configuration for ntpd; see ntp.conf(5) for help
driftfile /var/lib/ntp/ntp.drift
# Enable this if you want statistics to be logged.
#statsdir /var/log/ntpstats/
statistics loopstats peerstats clockstats
filegen loopstats file loopstats type day enable
filegen peerstats file peerstats type day enable
filegen clockstats file clockstats type day enable
# NTP Server
#server ntp.csclub.uwaterloo.ca
server 129.97.167.12
#server ntp.student.cs.uwaterloo.ca
server 129.97.167.4
#server ntp.cs.uwaterloo.ca
server 129.97.15.14
#server ntp.cscf.uwaterloo.ca
server 129.97.15.15
# Access control configuration; see /usr/share/doc/ntp-doc/html/accopt.html for
# details. The web page
# <http://support.ntp.org/bin/view/Support/AccessRestrictions>
# might also be helpful.
#
# Note that "restrict" applies to both servers and clients, so a configuration
# that might be intended to block requests from certain clients could also end
# up blocking replies from your own upstream servers.
# Disable the monitoring facility.
# see https://isc.sans.edu/forums/diary/NTP+reflection+attack/17300
disable monitor
# By default, exchange time with everybody, but don't allow configuration
restrict -4 default kod notrap nomodify nopeer noquery
restrict -6 default kod notrap nomodify nopeer noquery
# Local users may interrogate the ntp server more closely.
restrict 127.0.0.1
restrict ::1

View File

@ -0,0 +1,12 @@
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

@ -0,0 +1,25 @@
# This is the ssh client system-wide configuration file. See
# ssh_config(5) for more information. This file provides defaults for
# users, and the values can be changed in per-user configuration files
# or on the command line.
# Configuration data is parsed as follows:
# 1. command line options
# 2. user-specific file
# 3. system-wide file
# Any configuration value is only changed the first time it is set.
# Thus, host-specific definitions should be at the beginning of the
# configuration file, and defaults at the end.
# Site-wide defaults for some commonly used options. For a comprehensive
# list of available options, their meanings and defaults, please see the
# ssh_config(5) man page.
Host *
SendEnv LANG LC_*
GSSAPITrustDns yes
GSSAPIKeyExchange yes
GSSAPIAuthentication yes
GSSAPIDelegateCredentials yes
UseRoaming no

View File

@ -0,0 +1,192 @@
aspartame.csclub.uwaterloo.ca ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAII27ztnAm39AurPIoIsdTFVE+u46EuOwpRizR6D9BG+Y
aspartame.csclub.uwaterloo.ca ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC4TzqMpguUFMIly6HKTHpKKJrvJmIBWrS7FZSH0JCDsUrwzlYZQSTG1d0uCqO0NG0SV6GsdxcrucLRJajkidoB1RMgaZ/PPOK2a4o94aR09p9lBoE/MX9capCuybLg0EVc1/YTdRxM1wjP9f4Mjp6t5snTZ89RTAdPOg3MjFbveHHQceg0tYbOu3VlNMoove1gh0GBftmLobPnPzUgtMCJ3I2KcXpqTMUJSC01k23DG+M6sRQ7XjuG9P5Q0ly49qtt3p/NSeR6B/kETN3QiI8FQo5VoW2OP1Mpa4sNoBoBs55Wq4XYC1m1vyH3SqU8ExcrZqjI+LbJtYQGpH5BWySv
aspartame ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAII27ztnAm39AurPIoIsdTFVE+u46EuOwpRizR6D9BG+Y
aspartame ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC4TzqMpguUFMIly6HKTHpKKJrvJmIBWrS7FZSH0JCDsUrwzlYZQSTG1d0uCqO0NG0SV6GsdxcrucLRJajkidoB1RMgaZ/PPOK2a4o94aR09p9lBoE/MX9capCuybLg0EVc1/YTdRxM1wjP9f4Mjp6t5snTZ89RTAdPOg3MjFbveHHQceg0tYbOu3VlNMoove1gh0GBftmLobPnPzUgtMCJ3I2KcXpqTMUJSC01k23DG+M6sRQ7XjuG9P5Q0ly49qtt3p/NSeR6B/kETN3QiI8FQo5VoW2OP1Mpa4sNoBoBs55Wq4XYC1m1vyH3SqU8ExcrZqjI+LbJtYQGpH5BWySv
auth1.csclub.uwaterloo.ca ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIAvLvnQ6Ocf/QjojRW5fPrROrsQvSr/8pRVQCNXphs4W
auth1.csclub.uwaterloo.ca ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCmdYsXyf24OrBn3ZTo1rWZt55ZnE6L5DGYgmvRqwTFlrr0GyqNKSUDu+QL4NlxVRMB8IMe4inpuRb7JZuO47IRqf/KCIgWLfpsd1CMflqc2rYRVYmra2JSQ10DHJb4VGbOqABhkeB4YeTPwImr/BG4FBOm7QCqIu16RzjANXjYtGZq/s72hUhnm4yV36BHtXXaI4Ji7i4IeT2onyxfZyFcC9DcP83GUFOGtjAMumDRpJ5ftek+147gfF3dSvaYj8esFZW4geMoKXBe3B9vYAgH8z4iNbMqDc7NAVOWsvf5dSKiegrIrovNWm6rVWqYAXluJ6nkt1i5wkkM776cUUCn
auth1 ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIAvLvnQ6Ocf/QjojRW5fPrROrsQvSr/8pRVQCNXphs4W
auth1 ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCmdYsXyf24OrBn3ZTo1rWZt55ZnE6L5DGYgmvRqwTFlrr0GyqNKSUDu+QL4NlxVRMB8IMe4inpuRb7JZuO47IRqf/KCIgWLfpsd1CMflqc2rYRVYmra2JSQ10DHJb4VGbOqABhkeB4YeTPwImr/BG4FBOm7QCqIu16RzjANXjYtGZq/s72hUhnm4yV36BHtXXaI4Ji7i4IeT2onyxfZyFcC9DcP83GUFOGtjAMumDRpJ5ftek+147gfF3dSvaYj8esFZW4geMoKXBe3B9vYAgH8z4iNbMqDc7NAVOWsvf5dSKiegrIrovNWm6rVWqYAXluJ6nkt1i5wkkM776cUUCn
auth2.csclub.uwaterloo.ca ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIGJcYRda4/NglHpJDn9CadzN6gkO4ziUI1CZ4KZ6T76G
auth2.csclub.uwaterloo.ca ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCyXarBOhnkPR2cpeXPrSzBBFY5Wth7SRTuPtY0DLRsIVqAfJ/92pY79AWcvpM0DtoguMscc3iOWKhLpz5gxA3zPUOjloNMvGMHjUzC8Mwi0URJB9nbfpuE5+sHSLIcl26PbvHTTgL4WbsSypAxHNEe3Cc2uZ7JmGgccicXm6r7rQBICWmwQHjkB7rlXYNuY8Kni0lRDWNV45QUpab553wbBw0PZWmnjA1/ft8gN7ppXzBfvdPZy/OBal+7dUsCdBSsiCUu4Fowkqa5wzQP5JrfExmO3fp5mTTKWA1+ige2FJQoLhTtT6WuZ1MiMig2h/5itguxADP9X9/EFxVUsj05
auth2 ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIGJcYRda4/NglHpJDn9CadzN6gkO4ziUI1CZ4KZ6T76G
auth2 ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCyXarBOhnkPR2cpeXPrSzBBFY5Wth7SRTuPtY0DLRsIVqAfJ/92pY79AWcvpM0DtoguMscc3iOWKhLpz5gxA3zPUOjloNMvGMHjUzC8Mwi0URJB9nbfpuE5+sHSLIcl26PbvHTTgL4WbsSypAxHNEe3Cc2uZ7JmGgccicXm6r7rQBICWmwQHjkB7rlXYNuY8Kni0lRDWNV45QUpab553wbBw0PZWmnjA1/ft8gN7ppXzBfvdPZy/OBal+7dUsCdBSsiCUu4Fowkqa5wzQP5JrfExmO3fp5mTTKWA1+ige2FJQoLhTtT6WuZ1MiMig2h/5itguxADP9X9/EFxVUsj05
bit-shifter.csclub.uwaterloo.ca ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIODyyKCLjh71NswLcYdjjHkGgvUXnru5wvoojQYR2kwH
bit-shifter.csclub.uwaterloo.ca ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDDzH2lcDDp7S3b42mbpdcO1FySgY0dZQjxn9+90RN9x7HPKIhmuppJ1dkbmUFiDix1NzhO8ea3q2/b7XTjtN19zQP4+sV7eNpLw6O4UjTGAhTc7rWFrDrcQ7i7UAh9iM+DfnQa4BkQHr9j2cjgbvemDaRKSvzJvZXAMYLCu4kIEc+K6Qeer/pj4fcv5bvPuq+/kSsrLLEN/QfShFeKhfpO7e8dGicMuOnvruXUs0pqUXQtmQ2Wyjzouo+al0LnEWkA+7Atm1pg/VHnYIyAtYO615oSd3ExeOrLhZc68klWx3SXzkgywNItOENsq32gVgExyl0yTfVLd3CKwn+3D8Vf
bit-shifter ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIODyyKCLjh71NswLcYdjjHkGgvUXnru5wvoojQYR2kwH
bit-shifter ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDDzH2lcDDp7S3b42mbpdcO1FySgY0dZQjxn9+90RN9x7HPKIhmuppJ1dkbmUFiDix1NzhO8ea3q2/b7XTjtN19zQP4+sV7eNpLw6O4UjTGAhTc7rWFrDrcQ7i7UAh9iM+DfnQa4BkQHr9j2cjgbvemDaRKSvzJvZXAMYLCu4kIEc+K6Qeer/pj4fcv5bvPuq+/kSsrLLEN/QfShFeKhfpO7e8dGicMuOnvruXUs0pqUXQtmQ2Wyjzouo+al0LnEWkA+7Atm1pg/VHnYIyAtYO615oSd3ExeOrLhZc68klWx3SXzkgywNItOENsq32gVgExyl0yTfVLd3CKwn+3D8Vf
block1.cloud.csclub.uwaterloo.ca ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIFue/N1Y8gQ8XDZEcn7Z0G57APuf3Th5Ud+6PmjqCnI/
block1.cloud.csclub.uwaterloo.ca ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDAWtTVqR9doE4gyBamgJ6IaOew/Mg3VGYGbkRIw+rG3PQTap03pWDq59I8WoxKP/ntQoN4fqwYp5aofRNgijAXPqpBSwgWe36VIgizATOlBoLKtn/BI/+r19BwZwjZpPl9S+HlgPIo7+iLqyo3shwzonfpw8uxjnq+PGvoRPEw0C3z7EbZHdOYbnBaeVor7OUzC79DgqG3WgDIvdOspv/Svi9Yie862lMEzl+D69AZclMuHjLWs1cK8cgqEY7BbhLRAVaIIZ2EgPmiW3pu/B3k03fBj2S366lrouEeZ+GqJTDBmIZ+cy82FxBQp3wYwtSvdM97gzD9/T7N7011KA6B
block1.cloud ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIFue/N1Y8gQ8XDZEcn7Z0G57APuf3Th5Ud+6PmjqCnI/
block1.cloud ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDAWtTVqR9doE4gyBamgJ6IaOew/Mg3VGYGbkRIw+rG3PQTap03pWDq59I8WoxKP/ntQoN4fqwYp5aofRNgijAXPqpBSwgWe36VIgizATOlBoLKtn/BI/+r19BwZwjZpPl9S+HlgPIo7+iLqyo3shwzonfpw8uxjnq+PGvoRPEw0C3z7EbZHdOYbnBaeVor7OUzC79DgqG3WgDIvdOspv/Svi9Yie862lMEzl+D69AZclMuHjLWs1cK8cgqEY7BbhLRAVaIIZ2EgPmiW3pu/B3k03fBj2S366lrouEeZ+GqJTDBmIZ+cy82FxBQp3wYwtSvdM97gzD9/T7N7011KA6B
caffeine.csclub.uwaterloo.ca ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIEl/7srK3RCWen+dBNiO1WfWQQqx4yVs+X6M/XRYPjml
caffeine.csclub.uwaterloo.ca ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAzLf726SMtgFQODIFN0G2WhwMPW6A6zDvd+hLUZWsx5in1rdCAVgtBAnqSlIZQzG+VV6b7VF/vUFg0g8Iku4txwQzE2o0Edln6RWFcEgYgczCY/QdtQ358NyZQ75M/fzM3HyX62cTzkX/nXOLIxGs8O8lmCSRs0D2I5JW4XciFvH4tarlstCflfkiTitqOicpaU+bEKfnXlfbR6tWsm5dp0gFcowtabJnWkuMNxyFSURWfglTrIn/XsEbA9rMdPzSHkpbuibrP9TaRQt+hwph+0fOtb2TlQlH1wu4O8Xi0R/XqlWASjRrXHrU6bMSOqq9Ym4a6oBUDrZMdKdlH48xsQ==
caffeine ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIEl/7srK3RCWen+dBNiO1WfWQQqx4yVs+X6M/XRYPjml
caffeine ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAzLf726SMtgFQODIFN0G2WhwMPW6A6zDvd+hLUZWsx5in1rdCAVgtBAnqSlIZQzG+VV6b7VF/vUFg0g8Iku4txwQzE2o0Edln6RWFcEgYgczCY/QdtQ358NyZQ75M/fzM3HyX62cTzkX/nXOLIxGs8O8lmCSRs0D2I5JW4XciFvH4tarlstCflfkiTitqOicpaU+bEKfnXlfbR6tWsm5dp0gFcowtabJnWkuMNxyFSURWfglTrIn/XsEbA9rMdPzSHkpbuibrP9TaRQt+hwph+0fOtb2TlQlH1wu4O8Xi0R/XqlWASjRrXHrU6bMSOqq9Ym4a6oBUDrZMdKdlH48xsQ==
cobalamin.csclub.uwaterloo.ca ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIBJT/8C2QZ5eRyIA6Q9ZdDS6naCf9raqEo7hZUhTm+Sm
cobalamin.csclub.uwaterloo.ca ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDo5+jPDT0ak6Ox4vk+EPmxNsVgQuLK82IyKvvuPHZ2qJ27ZJ6a1YxE+WiwpmKkF4BfLC0bwMIY5PZ3IUZ+gfVxiA19kddEWa97kmntsOB2oirpv/Ewvv83KflVWwjIiMCS9BlbVwtzhfzaOUec0f7jsqQ1x/J2mvAEt81vgjFeWOqmxGhLQs8sZZzeqQBZyOHral5GvcIfvBbBMAhV8E7KuyjqQsGWqOdrEThEM7a/sNmmawI130PGlOIz6FKcnBZJWxpo0L26cGIEI92lvWRs/NWPaPDtyWuaamkP3PFedAc6kX6pnU+MqZldsbH6bDsPq1iOryU3y8WebdTBGVh9
cobalamin ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIBJT/8C2QZ5eRyIA6Q9ZdDS6naCf9raqEo7hZUhTm+Sm
cobalamin ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDo5+jPDT0ak6Ox4vk+EPmxNsVgQuLK82IyKvvuPHZ2qJ27ZJ6a1YxE+WiwpmKkF4BfLC0bwMIY5PZ3IUZ+gfVxiA19kddEWa97kmntsOB2oirpv/Ewvv83KflVWwjIiMCS9BlbVwtzhfzaOUec0f7jsqQ1x/J2mvAEt81vgjFeWOqmxGhLQs8sZZzeqQBZyOHral5GvcIfvBbBMAhV8E7KuyjqQsGWqOdrEThEM7a/sNmmawI130PGlOIz6FKcnBZJWxpo0L26cGIEI92lvWRs/NWPaPDtyWuaamkP3PFedAc6kX6pnU+MqZldsbH6bDsPq1iOryU3y8WebdTBGVh9
controller1.cloud.csclub.uwaterloo.ca ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAICnbUa/1bUvBgEx1VvhHMDoH1Cont7o18zjQWcCiZngB
controller1.cloud.csclub.uwaterloo.ca ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDA6FNgsLkV5oZNHrp1H5gOof4h/uLwq9CPV2Bz7oGQw4/d2EBW3JSCPkx5Q+RxRalpwxE3K9PWxUCch6Lr9dlwrFkf7RapElPTg9erwVwKHUdamrlIlAXbzJ/err4x9yupERil3O7zV68OE0XOnwPms1Ljs9lX+tC0E4Pog+XXMqYZBuiUB8zr/0UaK0NadkGEIHekcsoGPzuQ28QyktqoPlwK9UTdE7y4HnrbohAG/aMSsRZnYIUcpgXZEeMM2mxtP82NHtDHX6L/lLmZPR2hQeUVvJD6l8ByBEWLu37cAYKjBc96voADwinB1hgugc5x49e+CQWs1wEjyM0W26pb
controller1.cloud ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAICnbUa/1bUvBgEx1VvhHMDoH1Cont7o18zjQWcCiZngB
controller1.cloud ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDA6FNgsLkV5oZNHrp1H5gOof4h/uLwq9CPV2Bz7oGQw4/d2EBW3JSCPkx5Q+RxRalpwxE3K9PWxUCch6Lr9dlwrFkf7RapElPTg9erwVwKHUdamrlIlAXbzJ/err4x9yupERil3O7zV68OE0XOnwPms1Ljs9lX+tC0E4Pog+XXMqYZBuiUB8zr/0UaK0NadkGEIHekcsoGPzuQ28QyktqoPlwK9UTdE7y4HnrbohAG/aMSsRZnYIUcpgXZEeMM2mxtP82NHtDHX6L/lLmZPR2hQeUVvJD6l8ByBEWLu37cAYKjBc96voADwinB1hgugc5x49e+CQWs1wEjyM0W26pb
corn-syrup.csclub.uwaterloo.ca ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIJQYiN9/mUUBcJx4lOCnm9W9n91iKvAY5cfcnoRzNqKU
corn-syrup.csclub.uwaterloo.ca ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEA1Y3qdNiwgOQzHXoDnRozSJ31eGoVYldmG3R2Rwa2rXNUwKVeVx612GxANjPaWrMyJ7bYEI1x7xtfdxKRcz94uumeqnR8cBTNKhxd1vtx0J64TcmezZqZdTAJZ11NVLRp+cuYPNDY62PNRtfjlkXMZ1BX1QFgNQdpARkXkLlDqAkkhaDVMhtXg2/3Z+xe5cizcwAjyeVjWlEpYrg+g2CKnpL6/hF9WZT3OLYsUDqVGZS0tDrS9nOuPuNQFdHZPUdaaNx7Lv+k8D4Yxeauc8EGGD2qEJ3xTh2P7FmaYbDc7s8GIYHa1lKh87ZULNyD6G5ieLYjSCjyHjVrmFVJM8woyw==
corn-syrup ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIJQYiN9/mUUBcJx4lOCnm9W9n91iKvAY5cfcnoRzNqKU
corn-syrup ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEA1Y3qdNiwgOQzHXoDnRozSJ31eGoVYldmG3R2Rwa2rXNUwKVeVx612GxANjPaWrMyJ7bYEI1x7xtfdxKRcz94uumeqnR8cBTNKhxd1vtx0J64TcmezZqZdTAJZ11NVLRp+cuYPNDY62PNRtfjlkXMZ1BX1QFgNQdpARkXkLlDqAkkhaDVMhtXg2/3Z+xe5cizcwAjyeVjWlEpYrg+g2CKnpL6/hF9WZT3OLYsUDqVGZS0tDrS9nOuPuNQFdHZPUdaaNx7Lv+k8D4Yxeauc8EGGD2qEJ3xTh2P7FmaYbDc7s8GIYHa1lKh87ZULNyD6G5ieLYjSCjyHjVrmFVJM8woyw==
db1.cloud.csclub.uwaterloo.ca ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIOKkqUPlrSVOB7ROQLzk1R0hoCM0YpSrRgfFTHq4TfJb
db1.cloud.csclub.uwaterloo.ca ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCuJ0mfAZmDLRQwezFuNSk8HyonfWVt85eyqddpNhZEumIlaJHcvpyig7CrnzkV747R0TCuiEFGNBNOLH/MQZfYIrjLM18QVUUPE3hragayxiMa7SnH50EJFt2OGNbGte6w664Guv5EGSqpY11VSpHsuuN7KPU8+ko3Xa+uhuz5lorLPAlGxO2Bz+PWDB1igmYMplJ0UfFZ/xmpMISAf2hakvlXiIjajp4cDSzVfKQMsLsUiwcO4lB65dO8KIR7OzIGtchcfb4qCp1CHjDx05GRomGNNFSYywn78O/0vvuSFkUKHtOi7oXVqWSD4uhVA3HWl8RdAkf1uH+yXfZXXzRh
db1.cloud ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIOKkqUPlrSVOB7ROQLzk1R0hoCM0YpSrRgfFTHq4TfJb
db1.cloud ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCuJ0mfAZmDLRQwezFuNSk8HyonfWVt85eyqddpNhZEumIlaJHcvpyig7CrnzkV747R0TCuiEFGNBNOLH/MQZfYIrjLM18QVUUPE3hragayxiMa7SnH50EJFt2OGNbGte6w664Guv5EGSqpY11VSpHsuuN7KPU8+ko3Xa+uhuz5lorLPAlGxO2Bz+PWDB1igmYMplJ0UfFZ/xmpMISAf2hakvlXiIjajp4cDSzVfKQMsLsUiwcO4lB65dO8KIR7OzIGtchcfb4qCp1CHjDx05GRomGNNFSYywn78O/0vvuSFkUKHtOi7oXVqWSD4uhVA3HWl8RdAkf1uH+yXfZXXzRh
dextrose.csclub.uwaterloo.ca ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIJakT99tON1ug7OGL8nAoelggn5kVIkU5ZJcgcYYQeDf
dextrose.csclub.uwaterloo.ca ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDkn3oIB0ubCLlriCIYFNR7z7i5wOm/GmPnt94eOjVk21RKzo4jJeczYX/OjvqNPTqeYgsOknoSjNPZ9EwkARe9XmhjIhRYsSrQeQH2i59WQTzg9EqnrdwuxHfEkO2X3CBBp6clftjONK8Wm7IwlfrUHssbTNczCuxyNrVP8hapXJuv69GQCqi4DTHEnswynjrh47iEgp0m/q7Q8leb98vfJd6a1fQrTqP7/+XJ6/h4cT5+tnwIC3BlnzzJYqzvK0FePYNZEf1TGFTZ2f5PzHAQo8IQQOLH2/Qiv43FgUSWanm3DO94C2IOO7vvHyZFXtktfmxoAGnm8E5ppEP6UR/3
dextrose ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIJakT99tON1ug7OGL8nAoelggn5kVIkU5ZJcgcYYQeDf
dextrose ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDkn3oIB0ubCLlriCIYFNR7z7i5wOm/GmPnt94eOjVk21RKzo4jJeczYX/OjvqNPTqeYgsOknoSjNPZ9EwkARe9XmhjIhRYsSrQeQH2i59WQTzg9EqnrdwuxHfEkO2X3CBBp6clftjONK8Wm7IwlfrUHssbTNczCuxyNrVP8hapXJuv69GQCqi4DTHEnswynjrh47iEgp0m/q7Q8leb98vfJd6a1fQrTqP7/+XJ6/h4cT5+tnwIC3BlnzzJYqzvK0FePYNZEf1TGFTZ2f5PzHAQo8IQQOLH2/Qiv43FgUSWanm3DO94C2IOO7vvHyZFXtktfmxoAGnm8E5ppEP6UR/3
dns1.csclub.uwaterloo.ca ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIDo3l7ZgezN5AnhqcxDENRWI4d+XzQ2d3jU06cCrxdlk
dns1.csclub.uwaterloo.ca ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDEI6VGY4MP/KUvRmAZe4zU5uBS84+r1r1CCOqMrzUniLVeDeEwkLVOsVjzAA3aTrZTPHu74SnmIeFSgD8N3ZmLsRX1J5MjLyTueQWhW2CfVVmJgm2HKRT+oACd/ICK3igeLeLJZbHX/kWj3fpIXH1qPEE5FG1RXZnl//YrqlHfD5bhAkoc8T9f4tVSi2uCBLsygI9YX+TMgslVMaoAPtUOsNoHX86tC01PnJdZeWNV4mffsezritwANOcEHwer6ae8KvMHyTn1PNS+JliaUjM1sJgbcrKLgS2X3WiJobm6axTsoTtAuwYifhaRTKqoAOVowk2QnwyjKimI/oYNj7xZ
dns1 ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIDo3l7ZgezN5AnhqcxDENRWI4d+XzQ2d3jU06cCrxdlk
dns1 ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDEI6VGY4MP/KUvRmAZe4zU5uBS84+r1r1CCOqMrzUniLVeDeEwkLVOsVjzAA3aTrZTPHu74SnmIeFSgD8N3ZmLsRX1J5MjLyTueQWhW2CfVVmJgm2HKRT+oACd/ICK3igeLeLJZbHX/kWj3fpIXH1qPEE5FG1RXZnl//YrqlHfD5bhAkoc8T9f4tVSi2uCBLsygI9YX+TMgslVMaoAPtUOsNoHX86tC01PnJdZeWNV4mffsezritwANOcEHwer6ae8KvMHyTn1PNS+JliaUjM1sJgbcrKLgS2X3WiJobm6axTsoTtAuwYifhaRTKqoAOVowk2QnwyjKimI/oYNj7xZ
dns2.csclub.uwaterloo.ca ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIJ69SS+uWofWrv6o/1ayfDl4dYrXdomif482cTVbFpyb
dns2.csclub.uwaterloo.ca ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQClthQ42O/5q46PqkF2Gbay+RQthHvRghnN62hDV+g6ROEyAHbsTZZH2GNadLAuCkiVMTLk7XXFaAXAzXGwKlnt9SML306U6gIxriDJ5xW2Qq1LzvAFcMGRLA0V7HhxHfQveHPiAOTjyBDXr0DL8JNvvw5RlcjATHkUnEIZMD8OVR4n4lZ4WWQGGimWekN/xqxAbICasvSeDVBlYlN2mlcjB0xuRbDJl9itbHW5lk9VIaSuCwc+Q+xcQI3jtWsz2baQa+yCfaHwIHys3ChN6AeW61hdWHRvYtsSvfnIyVXqGejADrNuTqJxMgFx+04JehuOrzNtLlC+QPaaN/F5abt5
dns2 ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIJ69SS+uWofWrv6o/1ayfDl4dYrXdomif482cTVbFpyb
dns2 ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQClthQ42O/5q46PqkF2Gbay+RQthHvRghnN62hDV+g6ROEyAHbsTZZH2GNadLAuCkiVMTLk7XXFaAXAzXGwKlnt9SML306U6gIxriDJ5xW2Qq1LzvAFcMGRLA0V7HhxHfQveHPiAOTjyBDXr0DL8JNvvw5RlcjATHkUnEIZMD8OVR4n4lZ4WWQGGimWekN/xqxAbICasvSeDVBlYlN2mlcjB0xuRbDJl9itbHW5lk9VIaSuCwc+Q+xcQI3jtWsz2baQa+yCfaHwIHys3ChN6AeW61hdWHRvYtsSvfnIyVXqGejADrNuTqJxMgFx+04JehuOrzNtLlC+QPaaN/F5abt5
etcd-dc.csclub.uwaterloo.ca ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIHyxHvCJCKcb2muGpI5NwzEf3r+9k0jUlyM8KCmltxLb
etcd-dc.csclub.uwaterloo.ca ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC63TGw/IqyVLuwAKfKpYIQYE+gHcqm2G891blFJ3QrtctlF/Q//g5bW8k/OXP0mdREarbQ7LMFwY8g1bmhUAJslSHUhy67W59TL5CZzVwJrUgM5rKOH+hWjTp7ZhxT2Q/I007k3bl7qFgD03lHbN5gXCq7yguQAjDZdygraY9f7aemlJtvce/6pPr1KVqArbVb+MUY5tEuafiyRr7Xrd8T4NF10bGF/OONIiV7o2O17leQiWlRN9ZovsbPcQhvVNrllfsbb0CChNpHY36o99cG5l0o18UEGxiGrct4p7J003cmJnaJMR6Ez0XqNSpzAXwkWIWXNESr3ruiE/rSE3UL
etcd-dc ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIHyxHvCJCKcb2muGpI5NwzEf3r+9k0jUlyM8KCmltxLb
etcd-dc ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC63TGw/IqyVLuwAKfKpYIQYE+gHcqm2G891blFJ3QrtctlF/Q//g5bW8k/OXP0mdREarbQ7LMFwY8g1bmhUAJslSHUhy67W59TL5CZzVwJrUgM5rKOH+hWjTp7ZhxT2Q/I007k3bl7qFgD03lHbN5gXCq7yguQAjDZdygraY9f7aemlJtvce/6pPr1KVqArbVb+MUY5tEuafiyRr7Xrd8T4NF10bGF/OONIiV7o2O17leQiWlRN9ZovsbPcQhvVNrllfsbb0CChNpHY36o99cG5l0o18UEGxiGrct4p7J003cmJnaJMR6Ez0XqNSpzAXwkWIWXNESr3ruiE/rSE3UL
etcd-mc.csclub.uwaterloo.ca ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAILETz1K9Wc2Y8enIHBgzmvfKcjASQoT2txSE/wxhH1gD
etcd-mc.csclub.uwaterloo.ca ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDNlQT91ULEwkVEesEz6TGZZIkxKsxsYXyc1FquBN/hGZI4UiPGwwwmAxAdHjlfj0k/3i9zzBy1QC/czo6qY1aYarIDuqS8gRvBCV3JVBce1yFTcRKRfGOCXABgyEljlJxKmcS4S//lIKhE92M124y8F0YkxqsM3MKWujubD938MLjZWfZOY8uVDVggC9lf7R8hXzu/alj07PET1fni1llz1cr3FT1ShoEKhVZyjt5WGObNyzjqbleOQIcYUlIVu+bZ2VtY6oia1f3RYtJPfXHg3gJTyZLr57k1cZORSvLXJEHmR4kp6QCzRs7D7zm0R72F0oRhh4e/rEVIJjA+9977
etcd-mc ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAILETz1K9Wc2Y8enIHBgzmvfKcjASQoT2txSE/wxhH1gD
etcd-mc ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDNlQT91ULEwkVEesEz6TGZZIkxKsxsYXyc1FquBN/hGZI4UiPGwwwmAxAdHjlfj0k/3i9zzBy1QC/czo6qY1aYarIDuqS8gRvBCV3JVBce1yFTcRKRfGOCXABgyEljlJxKmcS4S//lIKhE92M124y8F0YkxqsM3MKWujubD938MLjZWfZOY8uVDVggC9lf7R8hXzu/alj07PET1fni1llz1cr3FT1ShoEKhVZyjt5WGObNyzjqbleOQIcYUlIVu+bZ2VtY6oia1f3RYtJPfXHg3gJTyZLr57k1cZORSvLXJEHmR4kp6QCzRs7D7zm0R72F0oRhh4e/rEVIJjA+9977
etcd-phy.csclub.uwaterloo.ca ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIMZvm5HSmM/ws9ufNGX22+N8DX0I97b1Xk4tnXarJPwG
etcd-phy.csclub.uwaterloo.ca ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC9oYiZYxbBtwgNvf1YWm9SPSrhmL4l/sflJyTyAuXspqjZdJ6hD2rekssRnANK/A2qy/1bCX+8dM5FLoU0jg2lAPO9m8OifyrcFaeu1K9rohL9g6xy6DO9+2XHqSrZpnojzbtkNmzSFyuOftJLl2NP2JKo+++ZJd9GPOiKzCWfIRIh5ir00boaFp1b7YtvYVINbH2esO94ArnQdseEOI9lnPc2/40RfCYANxjluOl8JwWH8KKlAcB9piv1qTWHDH2BKkinvcVjDe9+dJ/iyTlGe2BOqvbTz6JLwSK4E07In3dLCYTgfWYozmpHcNOfdc/NLhspyt6IufAFrcwBwJJl
etcd-phy ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIMZvm5HSmM/ws9ufNGX22+N8DX0I97b1Xk4tnXarJPwG
etcd-phy ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC9oYiZYxbBtwgNvf1YWm9SPSrhmL4l/sflJyTyAuXspqjZdJ6hD2rekssRnANK/A2qy/1bCX+8dM5FLoU0jg2lAPO9m8OifyrcFaeu1K9rohL9g6xy6DO9+2XHqSrZpnojzbtkNmzSFyuOftJLl2NP2JKo+++ZJd9GPOiKzCWfIRIh5ir00boaFp1b7YtvYVINbH2esO94ArnQdseEOI9lnPc2/40RfCYANxjluOl8JwWH8KKlAcB9piv1qTWHDH2BKkinvcVjDe9+dJ/iyTlGe2BOqvbTz6JLwSK4E07In3dLCYTgfWYozmpHcNOfdc/NLhspyt6IufAFrcwBwJJl
ginkgo.csclub.uwaterloo.ca ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIPXC/EauwfwA4GQ9+M5onxYuw98VMnaNXMhcjCu0avad
ginkgo.csclub.uwaterloo.ca ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDBKv03zY66/ue2hO3HzsJD9q7o718Oo1vdW8FA2Opw+MiiHfKTTJfUQAaJxuIWE3PbK0V2YRJooJSwsG/8AhTVh0+tMpxcoMa3vbmE5r7mreleIVEPvNl6jFBHAvXrjE4gocvsC9whCXfkWpGP4snbygvWK8hzF7UY2jmbrh3fO6VPHCJ53Q2aUINXIQPbl131myWOt3G94sTIgEBK2g22VuCfP5iDVP46Ua+6JkFozUUd7foo122YSWtpl0+zNM3fVMJUf7s018ILyg44X9Z8gbBJRIBoOswS26qLwHtrDLwwT3YRgn6mWeNaDWKLluj5WFIOhGpHhYfgakm9NN4P
ginkgo ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIPXC/EauwfwA4GQ9+M5onxYuw98VMnaNXMhcjCu0avad
ginkgo ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDBKv03zY66/ue2hO3HzsJD9q7o718Oo1vdW8FA2Opw+MiiHfKTTJfUQAaJxuIWE3PbK0V2YRJooJSwsG/8AhTVh0+tMpxcoMa3vbmE5r7mreleIVEPvNl6jFBHAvXrjE4gocvsC9whCXfkWpGP4snbygvWK8hzF7UY2jmbrh3fO6VPHCJ53Q2aUINXIQPbl131myWOt3G94sTIgEBK2g22VuCfP5iDVP46Ua+6JkFozUUd7foo122YSWtpl0+zNM3fVMJUf7s018ILyg44X9Z8gbBJRIBoOswS26qLwHtrDLwwT3YRgn6mWeNaDWKLluj5WFIOhGpHhYfgakm9NN4P
glomag.csclub.uwaterloo.ca ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIKxpuwKe9wYy992ulrBbTS8Ag0Y9YsBuFItwipix3mAA
glomag.csclub.uwaterloo.ca ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCdFFZ8VdVK0rtWAfTZdM5MoI6P+Lqpo8FPqeXK9crwxutbaTgyj8JHBayCCEVrPciuddJ181ysvEae1d/0kNykhvJBUPwWIi66s1yCU93TNYvjfpxYrMLuDrQa0dh6cjavdjRbbzoi96I1DCt90X7TbDQHKGglf1Kg3a+3QyDk9b1T4+goC5uiHHJaI7wpdSZp5v7a9F9cnMPAdHSeoKtzKf4M0umzEd+XEXJQQT/ZlxGaL0SGPBN/7Lz+7ddpI8r2ApOgSaiBLZD+64wJHks/BtXD3nzfn4V8a+JnMIJ0pNc4vPMJU4/kdIrW00jAHv5UG+q7Ke6p03EETtIUaHab
glomag ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIKxpuwKe9wYy992ulrBbTS8Ag0Y9YsBuFItwipix3mAA
glomag ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCdFFZ8VdVK0rtWAfTZdM5MoI6P+Lqpo8FPqeXK9crwxutbaTgyj8JHBayCCEVrPciuddJ181ysvEae1d/0kNykhvJBUPwWIi66s1yCU93TNYvjfpxYrMLuDrQa0dh6cjavdjRbbzoi96I1DCt90X7TbDQHKGglf1Kg3a+3QyDk9b1T4+goC5uiHHJaI7wpdSZp5v7a9F9cnMPAdHSeoKtzKf4M0umzEd+XEXJQQT/ZlxGaL0SGPBN/7Lz+7ddpI8r2ApOgSaiBLZD+64wJHks/BtXD3nzfn4V8a+JnMIJ0pNc4vPMJU4/kdIrW00jAHv5UG+q7Ke6p03EETtIUaHab
guayusa.csclub.uwaterloo.ca ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIPtdKNzJ7Nt0jg+rjsfmlXADrnITQMJEbtyn1JvUknDX
guayusa.csclub.uwaterloo.ca ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC5r72Bwd+DoYPJfOlh4kMGTWPmodylynWT87RJgCPThXi5S/YbVriOs4k9UbxynILkmYIASUSLUWfG9/I1H8tYlngKFCKXLTr9JD9D0j9U72gJiq9c0LvyBVNhry7HLRSLs9Jz0Goxj62rDF2U+xIIgNxiWpzIpyGFkX2z21bOfYvqYHXfKimdtBRa9MzzFB9XjspbgpjDeIjI1N4i7L58E5NxBELIxhs4zusRuIv3ARkfeaydOegxC5wYPVahCp/nWmXWSW8wAMDma2JJy54RTFjaJ6XWcXcsgL79hUwSOEGu+z4DYh1PFUYiUbU8z4Y2ocReH7eqhy7F+eCziGzV
guayusa ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIPtdKNzJ7Nt0jg+rjsfmlXADrnITQMJEbtyn1JvUknDX
guayusa ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC5r72Bwd+DoYPJfOlh4kMGTWPmodylynWT87RJgCPThXi5S/YbVriOs4k9UbxynILkmYIASUSLUWfG9/I1H8tYlngKFCKXLTr9JD9D0j9U72gJiq9c0LvyBVNhry7HLRSLs9Jz0Goxj62rDF2U+xIIgNxiWpzIpyGFkX2z21bOfYvqYHXfKimdtBRa9MzzFB9XjspbgpjDeIjI1N4i7L58E5NxBELIxhs4zusRuIv3ARkfeaydOegxC5wYPVahCp/nWmXWSW8wAMDma2JJy54RTFjaJ6XWcXcsgL79hUwSOEGu+z4DYh1PFUYiUbU8z4Y2ocReH7eqhy7F+eCziGzV
gwem.csclub.uwaterloo.ca ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIBDzFSHEDNnprhxJ9IvjtHvud65CEP28tTObEGMewGhg
gwem.csclub.uwaterloo.ca ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDEMf5K0/8T88rXxBZeTh1qkdR/QxpShJsSHeh2KbEyHLyhJn26tudtzZojD93xt+LeZvL+Hi0bEkWgfVEX3WWbmetrePjd9Mcz+E7ND38n2oGYl/ddcNlUcVm1J4R+YI6G9pPfOa66yHeYeWFXGZEJRsJbZjI1r64GOjsm2cLP0+V7xlwPPe7lQFOcCRbfyKBEVaeipn4MUzXS0bRra1hxxB745FrvauJtM6HUQcaey+NKOczt+9ZiXGuklj3/qrGsiMg5K3rmRYbQWAbA2OELPwthgX3uP4FzH6XWjo6qYSRZBhytQcgRS8vqdlux1kcL19QCiv5aP/FlwDl4qqf9
gwem ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIBDzFSHEDNnprhxJ9IvjtHvud65CEP28tTObEGMewGhg
gwem ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDEMf5K0/8T88rXxBZeTh1qkdR/QxpShJsSHeh2KbEyHLyhJn26tudtzZojD93xt+LeZvL+Hi0bEkWgfVEX3WWbmetrePjd9Mcz+E7ND38n2oGYl/ddcNlUcVm1J4R+YI6G9pPfOa66yHeYeWFXGZEJRsJbZjI1r64GOjsm2cLP0+V7xlwPPe7lQFOcCRbfyKBEVaeipn4MUzXS0bRra1hxxB745FrvauJtM6HUQcaey+NKOczt+9ZiXGuklj3/qrGsiMg5K3rmRYbQWAbA2OELPwthgX3uP4FzH6XWjo6qYSRZBhytQcgRS8vqdlux1kcL19QCiv5aP/FlwDl4qqf9
hfcs.csclub.uwaterloo.ca ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAINx6o3+z5wJxIs9zYSvf/bwzsWI5Nm27Sf/F3kvp0aYs
hfcs.csclub.uwaterloo.ca ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC/XkcWvw/JAagtCFymBySJpnPjx0Uk0KTDDtdwNqeHH4/GvN0R8KWQNLg/2eJpGNIt8geTyake7Hg879rrHEh4RZrDkz9Zu8yTrV8nGGf2tZ58NmEo0CQn7I3wziNcJHpl1MQUXmtua8buvUNL+l7F+yag3u+ElPeQd7KAUparF2n9pz06kK4U3XEvimgOnTqbJaqP39ki/EjmUhi0I6LvzpoOdA6/06IM+EkVi58l5mu1vBffUpzKQXIOSJf3j4y/zEYqEkO7rHWdZJn0CVMG+cfYxry+GC3CRonw5MdemzU3wd+e4KI/zsdvfXBJwqnhAIN6Jq1hbtodLZYODp/v
hfcs ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAINx6o3+z5wJxIs9zYSvf/bwzsWI5Nm27Sf/F3kvp0aYs
hfcs ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC/XkcWvw/JAagtCFymBySJpnPjx0Uk0KTDDtdwNqeHH4/GvN0R8KWQNLg/2eJpGNIt8geTyake7Hg879rrHEh4RZrDkz9Zu8yTrV8nGGf2tZ58NmEo0CQn7I3wziNcJHpl1MQUXmtua8buvUNL+l7F+yag3u+ElPeQd7KAUparF2n9pz06kK4U3XEvimgOnTqbJaqP39ki/EjmUhi0I6LvzpoOdA6/06IM+EkVi58l5mu1vBffUpzKQXIOSJf3j4y/zEYqEkO7rHWdZJn0CVMG+cfYxry+GC3CRonw5MdemzU3wd+e4KI/zsdvfXBJwqnhAIN6Jq1hbtodLZYODp/v
high-fructose-corn-syrup.csclub.uwaterloo.ca ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAINx6o3+z5wJxIs9zYSvf/bwzsWI5Nm27Sf/F3kvp0aYs
high-fructose-corn-syrup.csclub.uwaterloo.ca ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC/XkcWvw/JAagtCFymBySJpnPjx0Uk0KTDDtdwNqeHH4/GvN0R8KWQNLg/2eJpGNIt8geTyake7Hg879rrHEh4RZrDkz9Zu8yTrV8nGGf2tZ58NmEo0CQn7I3wziNcJHpl1MQUXmtua8buvUNL+l7F+yag3u+ElPeQd7KAUparF2n9pz06kK4U3XEvimgOnTqbJaqP39ki/EjmUhi0I6LvzpoOdA6/06IM+EkVi58l5mu1vBffUpzKQXIOSJf3j4y/zEYqEkO7rHWdZJn0CVMG+cfYxry+GC3CRonw5MdemzU3wd+e4KI/zsdvfXBJwqnhAIN6Jq1hbtodLZYODp/v
high-fructose-corn-syrup ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAINx6o3+z5wJxIs9zYSvf/bwzsWI5Nm27Sf/F3kvp0aYs
high-fructose-corn-syrup ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC/XkcWvw/JAagtCFymBySJpnPjx0Uk0KTDDtdwNqeHH4/GvN0R8KWQNLg/2eJpGNIt8geTyake7Hg879rrHEh4RZrDkz9Zu8yTrV8nGGf2tZ58NmEo0CQn7I3wziNcJHpl1MQUXmtua8buvUNL+l7F+yag3u+ElPeQd7KAUparF2n9pz06kK4U3XEvimgOnTqbJaqP39ki/EjmUhi0I6LvzpoOdA6/06IM+EkVi58l5mu1vBffUpzKQXIOSJf3j4y/zEYqEkO7rHWdZJn0CVMG+cfYxry+GC3CRonw5MdemzU3wd+e4KI/zsdvfXBJwqnhAIN6Jq1hbtodLZYODp/v
load-balancer-01.csclub.uwaterloo.ca ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIOv1ICwZARPxBZDw5b0pjuYb+CV6x93cFz+6Blq+bIjE
load-balancer-01.csclub.uwaterloo.ca ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC1hM6i72q/96N9uvg7ZT+rGSYPHhCOFeWn2ntBQIQG2rL7lgNTssYVnM399Js2Xg8cZu+at4yp+TX2fxqM6Vtqtw4sVgQ1Vi9mPT2wyNp5L6ioH02Epa3BdLtREMN/2Khk8aN841+Hp3q7qo63PgNJUP8ucqUA6PUeJo6TdR39aMCy23nzDAlcGqGVQUAMjIqV086O9DROY7UfoRsUBg3evEb3OLdOwCp174qKFY4pM+T3E8fgSWcmMxnoKBJHmN2MCRoTH8FpJlS1i8z89ADdep3MekKiwkc02tVKliIEdpv/RleapTWfSfi0aXmJyFkLhbit2ZXnG4CLDesFqUNV
load-balancer-01 ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIOv1ICwZARPxBZDw5b0pjuYb+CV6x93cFz+6Blq+bIjE
load-balancer-01 ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC1hM6i72q/96N9uvg7ZT+rGSYPHhCOFeWn2ntBQIQG2rL7lgNTssYVnM399Js2Xg8cZu+at4yp+TX2fxqM6Vtqtw4sVgQ1Vi9mPT2wyNp5L6ioH02Epa3BdLtREMN/2Khk8aN841+Hp3q7qo63PgNJUP8ucqUA6PUeJo6TdR39aMCy23nzDAlcGqGVQUAMjIqV086O9DROY7UfoRsUBg3evEb3OLdOwCp174qKFY4pM+T3E8fgSWcmMxnoKBJHmN2MCRoTH8FpJlS1i8z89ADdep3MekKiwkc02tVKliIEdpv/RleapTWfSfi0aXmJyFkLhbit2ZXnG4CLDesFqUNV
load-balancer-02.csclub.uwaterloo.ca ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIOYxoez1Ods9nzkQ2+sRTLwoaUGPwdjorb9plEWphBah
load-balancer-02.csclub.uwaterloo.ca ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDEjoXEZXPWdz4Q56UYA/9V44sQOLEvAP55bJfJgvOw/HOyd/jI7ixpNx2LOeVtca02HmiOl63zNiTzvfjDIqYQ2S6/pK3zXTyTJuQTtkcQWThuEmWHB23ihGj+w6iKTLvh378eP/DUEmgljITNYT6szcZml7NVARtarCCfi+R8H0KURPA31QMh3XGMUn/NUdaI+oI2qVW6KPsLSRZKJQWmAsiDiHRd5j8toSH+eOeZG1kWy16vyEsJJY3D0y89yTrB5LQBnL0SR6SgLH+EB711ePhJ10q/HlobKCpbGlDniCNpwAIChdpzDBWhj8NczW9DjcwbLt0hVxaK7OQZDbcX
load-balancer-02 ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIOYxoez1Ods9nzkQ2+sRTLwoaUGPwdjorb9plEWphBah
load-balancer-02 ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDEjoXEZXPWdz4Q56UYA/9V44sQOLEvAP55bJfJgvOw/HOyd/jI7ixpNx2LOeVtca02HmiOl63zNiTzvfjDIqYQ2S6/pK3zXTyTJuQTtkcQWThuEmWHB23ihGj+w6iKTLvh378eP/DUEmgljITNYT6szcZml7NVARtarCCfi+R8H0KURPA31QMh3XGMUn/NUdaI+oI2qVW6KPsLSRZKJQWmAsiDiHRd5j8toSH+eOeZG1kWy16vyEsJJY3D0y89yTrB5LQBnL0SR6SgLH+EB711ePhJ10q/HlobKCpbGlDniCNpwAIChdpzDBWhj8NczW9DjcwbLt0hVxaK7OQZDbcX
logstash.csclub.uwaterloo.ca ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAILdbiiRqgKanqNh27Z5/ROMnJc09uigjHrsm8HIlWNJO
logstash.csclub.uwaterloo.ca ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCbq9+25852vtZDKKfH0/ZbyBwX1Eycd8wKIlumFmF70olPIPfZHMqd4p4jMppLVXdS2NkeOzUeDWKv0kRXcOkcFIB1GYaQHJeIMEY1Oo1yt5QzkraaOemsNt2+dz/sTOlPPdsFb0mJj7SF/GWMc0wjcZp2S53QSxfp3/lD+nmn4VNKEvwgA/J+H8OK9gb3sYBlNb11E69LvB0Cuw39xs47GIex7Wip8Kp3GAhlFluhsluTbaGr902tZn3DFOohPhB/YTWn4pvLY2VpUY9F1uJC6ReUCQjSGtqVOmREXTPR2UKIrSHfnlNoS1nP1vEP6T0qMylVs0YpMjcmxnvxqQBH
logstash ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAILdbiiRqgKanqNh27Z5/ROMnJc09uigjHrsm8HIlWNJO
logstash ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCbq9+25852vtZDKKfH0/ZbyBwX1Eycd8wKIlumFmF70olPIPfZHMqd4p4jMppLVXdS2NkeOzUeDWKv0kRXcOkcFIB1GYaQHJeIMEY1Oo1yt5QzkraaOemsNt2+dz/sTOlPPdsFb0mJj7SF/GWMc0wjcZp2S53QSxfp3/lD+nmn4VNKEvwgA/J+H8OK9gb3sYBlNb11E69LvB0Cuw39xs47GIex7Wip8Kp3GAhlFluhsluTbaGr902tZn3DFOohPhB/YTWn4pvLY2VpUY9F1uJC6ReUCQjSGtqVOmREXTPR2UKIrSHfnlNoS1nP1vEP6T0qMylVs0YpMjcmxnvxqQBH
mail.csclub.uwaterloo.ca ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAICyt77ru/ViAIvaw9Nca9zL8Gqv5VwNGZnW7LCQu+9WP
mail.csclub.uwaterloo.ca ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDTas45BY/7HZjNUgwJtBSOMNVK+/eMM3r3EJyXMaNbnsSa0SrZgXmu0oA39uYHZD++ejn8tYsGqTtTHgIIcCAgrFWJykzGS35lq/t4YcqWqJLbTO2UiNwbi+VBEHWSRF5+vmYgO8ApuksULLsTy2PwfV6OoAqWtLiKcS2nmTRYuRqJlBNPkEVDjgREseRS+uFPK42cEhL3NNvHaHOxd5s9iamWFPVyH4s55MIASNMFzy3O3FD0Ewg60sTqBt1i4bqZcEC+ONYkm8/QFEJNcldIyn2XPN2FhfQ6QhCHnC/X1Z7ok2LFDsYo4rNd0eQrwIiK4KhwlwQg5/eJhTgbcig/
mail ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAICyt77ru/ViAIvaw9Nca9zL8Gqv5VwNGZnW7LCQu+9WP
mail ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDTas45BY/7HZjNUgwJtBSOMNVK+/eMM3r3EJyXMaNbnsSa0SrZgXmu0oA39uYHZD++ejn8tYsGqTtTHgIIcCAgrFWJykzGS35lq/t4YcqWqJLbTO2UiNwbi+VBEHWSRF5+vmYgO8ApuksULLsTy2PwfV6OoAqWtLiKcS2nmTRYuRqJlBNPkEVDjgREseRS+uFPK42cEhL3NNvHaHOxd5s9iamWFPVyH4s55MIASNMFzy3O3FD0Ewg60sTqBt1i4bqZcEC+ONYkm8/QFEJNcldIyn2XPN2FhfQ6QhCHnC/X1Z7ok2LFDsYo4rNd0eQrwIiK4KhwlwQg5/eJhTgbcig/
maltodextrin.csclub.uwaterloo.ca ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAINpo9EqfEkFPRj6AVsk2XwGT9eM6OtnSRxfOrV/cdrOJ
maltodextrin.csclub.uwaterloo.ca ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDINydeWNmqn3PAtvR4mJwI1equy5a5QYmWLqbbU4g2BxMt/t231bP0/MSgjk2hDslu96aYUREZjx0bgx0M9dlcaiy7UqXESXL1wROPAGqH35F4ZLH1HRkxI6b2vfysh3F2bfh+6A30ItstyFh3N5BsJufE+S1iSyTVxdJ9SLLi/0mC7pOymV3HEVG/B4EgSqk4MDBYVPO+jI5iKwDbcitvnXq7MxGQT/Svr9QHfK5o8Drl3gD46ZhF7JtKQ0ewivcfPnulhQkraVo6CaqnXerUPXGZn2JSURh8IRL/xLj8mHuZ75/rpQZnsUdOXIGYMqEOIthL5j3HGXR6pg3lHKlf
maltodextrin ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAINpo9EqfEkFPRj6AVsk2XwGT9eM6OtnSRxfOrV/cdrOJ
maltodextrin ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDINydeWNmqn3PAtvR4mJwI1equy5a5QYmWLqbbU4g2BxMt/t231bP0/MSgjk2hDslu96aYUREZjx0bgx0M9dlcaiy7UqXESXL1wROPAGqH35F4ZLH1HRkxI6b2vfysh3F2bfh+6A30ItstyFh3N5BsJufE+S1iSyTVxdJ9SLLi/0mC7pOymV3HEVG/B4EgSqk4MDBYVPO+jI5iKwDbcitvnXq7MxGQT/Svr9QHfK5o8Drl3gD46ZhF7JtKQ0ewivcfPnulhQkraVo6CaqnXerUPXGZn2JSURh8IRL/xLj8mHuZ75/rpQZnsUdOXIGYMqEOIthL5j3HGXR6pg3lHKlf
mattermost.csclub.uwaterloo.ca ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAII2dttPz6rcDyIGM5NYKx9LURUQNgzSGEkSVEuP+OdjZ
mattermost.csclub.uwaterloo.ca ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChF3yXKmHgNXZ0lk9K62jJ2SyIQGcrB9NQkZfsX6UtQqaiTV0CTih5r3QBpfrqvSsuJGNEyJ4X1euN5YbuiSMsyjvNJ6WRo8x4B4WE5pPdu3nUMdxT7oPdX6dajAlyDfxPRDyYX1nhimPx1ZuFo3+DZ6LoLkJ2k3S7BDpXbByAtWYd7iKPjmUqWhJ1ic3mqCXYIOoWEGx2rDjZTtQzw35HTvcudOopkxsuWR4o6BW92e5cA0Dpz88zfDFcVfiuPJS1w/QmaYkhHN8lo1Ji3B09hVSIeO9Ii8zDCRPw/S7QYgfMQRRbQuoUtfH9hRHqZL/ycpEtYs9SGG1JWz5WOjK3
mattermost ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAII2dttPz6rcDyIGM5NYKx9LURUQNgzSGEkSVEuP+OdjZ
mattermost ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChF3yXKmHgNXZ0lk9K62jJ2SyIQGcrB9NQkZfsX6UtQqaiTV0CTih5r3QBpfrqvSsuJGNEyJ4X1euN5YbuiSMsyjvNJ6WRo8x4B4WE5pPdu3nUMdxT7oPdX6dajAlyDfxPRDyYX1nhimPx1ZuFo3+DZ6LoLkJ2k3S7BDpXbByAtWYd7iKPjmUqWhJ1ic3mqCXYIOoWEGx2rDjZTtQzw35HTvcudOopkxsuWR4o6BW92e5cA0Dpz88zfDFcVfiuPJS1w/QmaYkhHN8lo1Ji3B09hVSIeO9Ii8zDCRPw/S7QYgfMQRRbQuoUtfH9hRHqZL/ycpEtYs9SGG1JWz5WOjK3
munin.csclub.uwaterloo.ca ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIIc2OFHM1FI9SLnd94+H8eExdmwRnQQO5axNZBdPR0Xk
munin.csclub.uwaterloo.ca ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDGasfjpaAvGwIFaDUd7MVs+hlnXKbFuzz07lUkAH7LvtqQdfNi6ytBLar+xy52O2e8Dx1Id+zQIgy+69+mDY3ewJZ528CIlKTOutJIDQq9gr9NngZwVnz1Jhn5otFgRMcGRDjVcvU7Y+/krP1Tlty12Udi9Bxe0d3gbysMsQTmLqo/JgfjQ1TlfQqJbUQNFUESTX9lgxvRN+IZpI+924EphJ5dz5Yt9IP9D60BnLOPgG0Lo0QEUom6S32gE9aKSFp6Zd6bSTgMYM+zGRaLX36uwFF+SW36QxvhJOjoOXsTRJd0ASwcresqj1fIPhohYkwhpeBgR6O1uLSuhfklFY/z
munin ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIIc2OFHM1FI9SLnd94+H8eExdmwRnQQO5axNZBdPR0Xk
munin ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDGasfjpaAvGwIFaDUd7MVs+hlnXKbFuzz07lUkAH7LvtqQdfNi6ytBLar+xy52O2e8Dx1Id+zQIgy+69+mDY3ewJZ528CIlKTOutJIDQq9gr9NngZwVnz1Jhn5otFgRMcGRDjVcvU7Y+/krP1Tlty12Udi9Bxe0d3gbysMsQTmLqo/JgfjQ1TlfQqJbUQNFUESTX9lgxvRN+IZpI+924EphJ5dz5Yt9IP9D60BnLOPgG0Lo0QEUom6S32gE9aKSFp6Zd6bSTgMYM+zGRaLX36uwFF+SW36QxvhJOjoOXsTRJd0ASwcresqj1fIPhohYkwhpeBgR6O1uLSuhfklFY/z
natural-flavours.csclub.uwaterloo.ca ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIM8aYjlkPSts9u/HHwG3MPWPqvYx1eQ8EyfsHdQZvQmH
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 ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIM8aYjlkPSts9u/HHwG3MPWPqvYx1eQ8EyfsHdQZvQmH
natural-flavours ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAxB8N1u+o/74IImggUHbW3l5TL6DhU2woDXxBS5h1e/tNlWpPWiAZUym8WQEARfPFwgKuz/lpGEPXHB4RjxBUO3XD06MqIltqAok231GB5JkjUxIV+0+prqNYn+69ddWGigNMHngy2x2K/hyb4nk2TmvqtYFPJAZvhv8YcVwQ6KZytWlOT0RtkLWr4NG+JpcUqFRbaAfD9Bb5xUTBmeEPTV2tE/XDOttA6unSl2bwZUhy6E5A5znk0/FashGCr/tpDeq2Sm7Fg4TGf/LX3TQU8myXL7aJxjOZlQ09LF/r4k8Vx7lQjZ6OF3UxIs52yrv5RaiIkCOb+FW6AlPSJZL9Jw==
netbox.csclub.uwaterloo.ca ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIFtLKp5XuE2o/rC6Is8nAebfBlTO23n2uy5rTnGbh6MK
netbox.csclub.uwaterloo.ca ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDBWgjnv2JxsoPSc3uGsV/8AcyHaxdRcZhO41qR1mfCOwHV/url8c69srx3k5s+dGwo+4Xiwgm6X4Zv0JdV/ALW2QWcBl0pSMansU/At0IUcEh5uPHqDn8iHaA5SFkCfAcfMLRgqIeloXTbCHdi5pVRjM1LhXjFBl6WAP7sDbA76SYuEb80ujZe1stojJbaHHMd9iEXmFdt5UZwktCqdsMFwNHTv1caf4Tc78CirBg3CqBVKWKHo4IXwYneBrX4CnBr9HJwaLVKzFZcg1TYFCuHfizOEKCOSsM1ZZA9l+68Oeza0oQq1PI0FvtpFPpWSRUN/OA1tPrJgcpnbEsf8Knr
netbox ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIFtLKp5XuE2o/rC6Is8nAebfBlTO23n2uy5rTnGbh6MK
netbox ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDBWgjnv2JxsoPSc3uGsV/8AcyHaxdRcZhO41qR1mfCOwHV/url8c69srx3k5s+dGwo+4Xiwgm6X4Zv0JdV/ALW2QWcBl0pSMansU/At0IUcEh5uPHqDn8iHaA5SFkCfAcfMLRgqIeloXTbCHdi5pVRjM1LhXjFBl6WAP7sDbA76SYuEb80ujZe1stojJbaHHMd9iEXmFdt5UZwktCqdsMFwNHTv1caf4Tc78CirBg3CqBVKWKHo4IXwYneBrX4CnBr9HJwaLVKzFZcg1TYFCuHfizOEKCOSsM1ZZA9l+68Oeza0oQq1PI0FvtpFPpWSRUN/OA1tPrJgcpnbEsf8Knr
network1.cloud.csclub.uwaterloo.ca ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIB/g4FEHTUjsdpt++I+zCuBK8NIn+jyfIaRFbpUpJ4q0
network1.cloud.csclub.uwaterloo.ca ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC0pCxlzlimV9Yrz38ZNEYiAAG8hGGSGu3cvoAKA5oVHF0ht4Kd7uzOg03r1+4VcQ31F2SLUayEUpco9L7wpdAuOiOpYLGqedhRrHjSlLMvY8YN8OzppA7deFKYg5xJmRAz5uGRZ50jNXzjCd1C8UCv4ytSGR3o0o6Gs2j0NEq19nkKaSN2cqLhxL2XJgrF0IOfE25CnFDdWe2aS7RZ8ia0l4rZKJ9Hh8VzjBRgTpBwL+YENPell1NAWRgwAdCCroIwk2IFfpzLgnL9OufHeMFMVGp/jqm+OFX/dVp7qqkQe4TnRX9bgLHKNOdUAwFG0dh/q2vrZlvn57Nav2DmoFXH
network1.cloud ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIB/g4FEHTUjsdpt++I+zCuBK8NIn+jyfIaRFbpUpJ4q0
network1.cloud ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC0pCxlzlimV9Yrz38ZNEYiAAG8hGGSGu3cvoAKA5oVHF0ht4Kd7uzOg03r1+4VcQ31F2SLUayEUpco9L7wpdAuOiOpYLGqedhRrHjSlLMvY8YN8OzppA7deFKYg5xJmRAz5uGRZ50jNXzjCd1C8UCv4ytSGR3o0o6Gs2j0NEq19nkKaSN2cqLhxL2XJgrF0IOfE25CnFDdWe2aS7RZ8ia0l4rZKJ9Hh8VzjBRgTpBwL+YENPell1NAWRgwAdCCroIwk2IFfpzLgnL9OufHeMFMVGp/jqm+OFX/dVp7qqkQe4TnRX9bgLHKNOdUAwFG0dh/q2vrZlvn57Nav2DmoFXH
nullsleep.csclub.uwaterloo.ca ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIGEBbBWfDxURsUChomUCxt0cTXGt0tfLzcVDJrg50oK6
nullsleep.csclub.uwaterloo.ca ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAzJXI0yFebeqYl1tZICq8+B4WVyO9d9BvegKFxHaABeITyRfGpx/fO9gO7RgVKlpvOPI3fPWM7OiMwi471QNZcsEUxXshYgNfdiNCaMHcEBFYOx12moKhE1mo/KKyCdfhxel6Lt2Nq2sE2HpMo59vfM768RUCBlAIQWvfMUusnD47TO+sH5fE+MycKxDRg55kjGBB/K3+y+EO8mJ1ZV5CISlMCh8EL5HeOf8zh/ZX5B7v5PYlbKcyGBef0YjOulAoEal3XuqVnEF99bdgFCMdd/rOa/Cgq/44lubMBgwux770K/pgPz5OktOTFreH19P1lVmnOLQi2nGVue3Ljw8A4w==
nullsleep ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIGEBbBWfDxURsUChomUCxt0cTXGt0tfLzcVDJrg50oK6
nullsleep ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAzJXI0yFebeqYl1tZICq8+B4WVyO9d9BvegKFxHaABeITyRfGpx/fO9gO7RgVKlpvOPI3fPWM7OiMwi471QNZcsEUxXshYgNfdiNCaMHcEBFYOx12moKhE1mo/KKyCdfhxel6Lt2Nq2sE2HpMo59vfM768RUCBlAIQWvfMUusnD47TO+sH5fE+MycKxDRg55kjGBB/K3+y+EO8mJ1ZV5CISlMCh8EL5HeOf8zh/ZX5B7v5PYlbKcyGBef0YjOulAoEal3XuqVnEF99bdgFCMdd/rOa/Cgq/44lubMBgwux770K/pgPz5OktOTFreH19P1lVmnOLQi2nGVue3Ljw8A4w==
object1.cloud.csclub.uwaterloo.ca ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIA4Dhfslt5MLR8sUjcHgrNGS0G5B7luSyxV1YAswsDzB
object1.cloud.csclub.uwaterloo.ca ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCvz6rFVP+51HpQs40aW1fJrgnc10uhlmYMv4+gMery4mGAC35IHxvUJmRfVUJgel6DQz0mkqC5h/Dt/212YTKERSCcpmmnH4tHiIWO/T1Op4luy54iiUxyYUc7wVmCwifvm0c3hy1/Lhi87EDp1Pf5+vsXLqPspvs/4krciMllTx/n3e1cYUrZF64c73nWYgIZk3rRWIB8wcD/0MT9ikOWtJdMXTyCT9gtDtBjLlY8X3UE0fd1n/kQNhifHCtGLoZUh1JF15rSwOkNNSLZ1LCMkxrRM96Gb9WdEIf+4shnKVX+mNpV/qBr3DSH1RdrtiB2Y91qJ7ORCUWGNbJUAlfl
object1.cloud ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIA4Dhfslt5MLR8sUjcHgrNGS0G5B7luSyxV1YAswsDzB
object1.cloud ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCvz6rFVP+51HpQs40aW1fJrgnc10uhlmYMv4+gMery4mGAC35IHxvUJmRfVUJgel6DQz0mkqC5h/Dt/212YTKERSCcpmmnH4tHiIWO/T1Op4luy54iiUxyYUc7wVmCwifvm0c3hy1/Lhi87EDp1Pf5+vsXLqPspvs/4krciMllTx/n3e1cYUrZF64c73nWYgIZk3rRWIB8wcD/0MT9ikOWtJdMXTyCT9gtDtBjLlY8X3UE0fd1n/kQNhifHCtGLoZUh1JF15rSwOkNNSLZ1LCMkxrRM96Gb9WdEIf+4shnKVX+mNpV/qBr3DSH1RdrtiB2Y91qJ7ORCUWGNbJUAlfl
potassium-benzoate.csclub.uwaterloo.ca ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIHQTR2Zui8kaLLiQeBFDkkvdVEJ6+rL9Ez2QIMWJgu0Z
potassium-benzoate.csclub.uwaterloo.ca ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIHQTR2Zui8kaLLiQeBFDkkvdVEJ6+rL9Ez2QIMWJgu0Z
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-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDO4ZqQ8XG7fmM1o6v6g3Ac+ljP6j4HnyrPA9dNjVWMxjM0KhxOtKWQZufAFcLBvmh/myK13cJnnrHYjq+ZIc4SH2LRTW/nu9Tdsj/BPbCiNQrAk8JLv4fJJVhysT3XWRlvJaN7xTwUdQ+EEPSHFj0KB5OevONwlNqQ+2GKGrkDRnslxY1Twgj+6WxGvY+mFBpid+v2K8ypb96zNOI2azwUvRMrFpgntRrqCiWbvsy4KZEikhSv/VumTb9YlyyjqMhqJgv7zKAbYf/VrlSHvO1pb9lbEGZmaS1P27m7sr5dfHMy5YeAG4NCwtsXXz8vz9zl9LzS08/Eb93rk7NiX17r
potassium-benzoate ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIHQTR2Zui8kaLLiQeBFDkkvdVEJ6+rL9Ez2QIMWJgu0Z
potassium-benzoate ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIHQTR2Zui8kaLLiQeBFDkkvdVEJ6+rL9Ez2QIMWJgu0Z
potassium-benzoate ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDO4ZqQ8XG7fmM1o6v6g3Ac+ljP6j4HnyrPA9dNjVWMxjM0KhxOtKWQZufAFcLBvmh/myK13cJnnrHYjq+ZIc4SH2LRTW/nu9Tdsj/BPbCiNQrAk8JLv4fJJVhysT3XWRlvJaN7xTwUdQ+EEPSHFj0KB5OevONwlNqQ+2GKGrkDRnslxY1Twgj+6WxGvY+mFBpid+v2K8ypb96zNOI2azwUvRMrFpgntRrqCiWbvsy4KZEikhSv/VumTb9YlyyjqMhqJgv7zKAbYf/VrlSHvO1pb9lbEGZmaS1P27m7sr5dfHMy5YeAG4NCwtsXXz8vz9zl9LzS08/Eb93rk7NiX17r
potassium-benzoate ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDO4ZqQ8XG7fmM1o6v6g3Ac+ljP6j4HnyrPA9dNjVWMxjM0KhxOtKWQZufAFcLBvmh/myK13cJnnrHYjq+ZIc4SH2LRTW/nu9Tdsj/BPbCiNQrAk8JLv4fJJVhysT3XWRlvJaN7xTwUdQ+EEPSHFj0KB5OevONwlNqQ+2GKGrkDRnslxY1Twgj+6WxGvY+mFBpid+v2K8ypb96zNOI2azwUvRMrFpgntRrqCiWbvsy4KZEikhSv/VumTb9YlyyjqMhqJgv7zKAbYf/VrlSHvO1pb9lbEGZmaS1P27m7sr5dfHMy5YeAG4NCwtsXXz8vz9zl9LzS08/Eb93rk7NiX17r
prometheus.csclub.uwaterloo.ca ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIN288oTaY0gEgfglLpY53voc5DtppHKBBwRXBfZ2J0QJ
prometheus.csclub.uwaterloo.ca ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCzeZMYqzT7iLdWQrQX8PnnJBravY5cTRnHc1OzrgGWQLu9WF7eVYo12qh5Y+WTJOjlYWu2+VBEhxGza+02JLLUSLJ4jOi4Dm8hWMUEjw8xh8eyDBmnydeQMEKZBTho9E6tL6ewLv1kR4fC8cXgJo3Pb9PAZTXHfsd1gwTQULTpkXoVEUp847LSRiw8uZSwfGQRmeLVmsz7IL0oglLf0uom/g6wXyYOdcouhmfurTfBS2Dh2KNhfu+lZ93Dtdzxnc4rBAdm2nZwAHmiames+x5ixHG23tEFgotDLG4cCwGJaT/sZOlQypy1XhsxNdOmF0U/5ZE32fn/hTyC3M6tKohT
prometheus ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIN288oTaY0gEgfglLpY53voc5DtppHKBBwRXBfZ2J0QJ
prometheus ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCzeZMYqzT7iLdWQrQX8PnnJBravY5cTRnHc1OzrgGWQLu9WF7eVYo12qh5Y+WTJOjlYWu2+VBEhxGza+02JLLUSLJ4jOi4Dm8hWMUEjw8xh8eyDBmnydeQMEKZBTho9E6tL6ewLv1kR4fC8cXgJo3Pb9PAZTXHfsd1gwTQULTpkXoVEUp847LSRiw8uZSwfGQRmeLVmsz7IL0oglLf0uom/g6wXyYOdcouhmfurTfBS2Dh2KNhfu+lZ93Dtdzxnc4rBAdm2nZwAHmiames+x5ixHG23tEFgotDLG4cCwGJaT/sZOlQypy1XhsxNdOmF0U/5ZE32fn/hTyC3M6tKohT
router1.cloud.csclub.uwaterloo.ca ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIBKUnCzz4mfm+5JLGlgQk9rynlrdqLij3tkbhslhMkDW
router1.cloud.csclub.uwaterloo.ca ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC2wTcevm1ec8UnE2R04Aw5QcCFteKzVJSCr+wYTAdPHRSBu/0Zedu3jVt79wkpt5Jsif9y3YV+IgIdJbETUB4fPidrSb1vOsSt4Z3cq2RVsf3RWgKOoHpnX50Kc9VYhZmHU8+IWSPGtjOkXDI1oCSgZjykj1+b02bbAsEoF137vplVEhzzyl8kxdQZ99BcI6EQ0K+ee5mLClAQ9DbLeIQtR723ipzuP13VveARmOj9C9fqxBWTWuCrS6MrUakx0R+YlfJU9PeeSKqiXbonbWdBtVXORpI5rNQGXjPgsBmbnSnKRqeQXHKEPDT93dVoeMVKYa4fCdE7PUY7PZcBI8/F
router1.cloud ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIBKUnCzz4mfm+5JLGlgQk9rynlrdqLij3tkbhslhMkDW
router1.cloud ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC2wTcevm1ec8UnE2R04Aw5QcCFteKzVJSCr+wYTAdPHRSBu/0Zedu3jVt79wkpt5Jsif9y3YV+IgIdJbETUB4fPidrSb1vOsSt4Z3cq2RVsf3RWgKOoHpnX50Kc9VYhZmHU8+IWSPGtjOkXDI1oCSgZjykj1+b02bbAsEoF137vplVEhzzyl8kxdQZ99BcI6EQ0K+ee5mLClAQ9DbLeIQtR723ipzuP13VveARmOj9C9fqxBWTWuCrS6MrUakx0R+YlfJU9PeeSKqiXbonbWdBtVXORpI5rNQGXjPgsBmbnSnKRqeQXHKEPDT93dVoeMVKYa4fCdE7PUY7PZcBI8/F
rt.csclub.uwaterloo.ca ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIGhh51yhgdLUI9bq69aqtw1rrPo/y8O5339gaBFEH2am
rt.csclub.uwaterloo.ca ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCvHWacOC003Qkp9hzBOBeH52MvYJkvSSbRgKdmaUVR5HB/MlqPNnp3tfw1kF3gdtM0PUU1NbZ94c7rRWRWYIOavkNr6hXzDFHACX7VGub8Hg6024IuoVRnmvgDcm6rnRxedvhN4OLpXlePXcmbtXQ302861cyKXTAzup0O5hAbuEqGvUhtR8bt3ATW5ucYmU+JinlV6gMcCz6UH69X3dj037mu5IxLJoSaknT6v9Zm5tsK2EfFe6/CqLN6tKyBuBWegdcXTJ1hNVCAIL5Ayz3wqcuPcRV25hTFddcNXUYGSnwUUk2rO1sSb0X9/RQ/OiH5bdVtSel0gi28Ap5+d0jd
rt ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIGhh51yhgdLUI9bq69aqtw1rrPo/y8O5339gaBFEH2am
rt ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCvHWacOC003Qkp9hzBOBeH52MvYJkvSSbRgKdmaUVR5HB/MlqPNnp3tfw1kF3gdtM0PUU1NbZ94c7rRWRWYIOavkNr6hXzDFHACX7VGub8Hg6024IuoVRnmvgDcm6rnRxedvhN4OLpXlePXcmbtXQ302861cyKXTAzup0O5hAbuEqGvUhtR8bt3ATW5ucYmU+JinlV6gMcCz6UH69X3dj037mu5IxLJoSaknT6v9Zm5tsK2EfFe6/CqLN6tKyBuBWegdcXTJ1hNVCAIL5Ayz3wqcuPcRV25hTFddcNXUYGSnwUUk2rO1sSb0X9/RQ/OiH5bdVtSel0gi28Ap5+d0jd
shibboleth.csclub.uwaterloo.ca ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIDZA1kQH5ItdTxZfp7ORNAm+oNRvniTZJTg+TdDRcRGN
shibboleth.csclub.uwaterloo.ca ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDB8A/QDCg02J7jdv7SiL/Ri61uuuHtECuhKBl4qFC53XxOSeiNOcnD2dHP9yn/cK6SVoTZXLmMVBFwxSHgGnE3K+sknGPf9h3a44Avt1HvDOeZxEWisu08Ua4SrStrEL1cc41Q/HtklAuaEQz6uLPae1UgJYW694YKxSGDMdr9/JPdUSFfPSY2RaNSVPIgXKzIa5j4HtRwCATngGz3TrOAl7ovXkuYnfE9PDlTRY64BxRWvZaZFREuBpmyhjD7inE1zG4TSX4sL31cq0iv9mBso/yhB2VADGc/kVi2GyS+mZ5ALhOYB3jtYXMdMM29nzB0rfdwSsj6YYuEYgto9Yar
shibboleth ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIDZA1kQH5ItdTxZfp7ORNAm+oNRvniTZJTg+TdDRcRGN
shibboleth ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDB8A/QDCg02J7jdv7SiL/Ri61uuuHtECuhKBl4qFC53XxOSeiNOcnD2dHP9yn/cK6SVoTZXLmMVBFwxSHgGnE3K+sknGPf9h3a44Avt1HvDOeZxEWisu08Ua4SrStrEL1cc41Q/HtklAuaEQz6uLPae1UgJYW694YKxSGDMdr9/JPdUSFfPSY2RaNSVPIgXKzIa5j4HtRwCATngGz3TrOAl7ovXkuYnfE9PDlTRY64BxRWvZaZFREuBpmyhjD7inE1zG4TSX4sL31cq0iv9mBso/yhB2VADGc/kVi2GyS+mZ5ALhOYB3jtYXMdMM29nzB0rfdwSsj6YYuEYgto9Yar
sodium-benzoate.csclub.uwaterloo.ca ssh-ed25519
AAAAC3NzaC1lZDI1NTE5AAAAIAqTJmG62zeZGMmHOD+caw0XvGznpfhPaAJEJnWrMdRr
sodium-benzoate.csclub.uwaterloo.ca ssh-rsa
AAAAB3NzaC1yc2EAAAABIwAAAQEA6rKVV1vf0TEM+80e2uCcsoTvoLQMNJHBvRnBIlrSBTZRctVFAydGLa4UhPdNIE/n/83DuVytZ4c0VS3ASi+7O+AA+NlW+KayKYnD6afzqxRrbMQPdOhFu4GN0q0MXJs3xIl1g0+OmI7RUdesvbZYJBY0uCsjH2Y6u/paqmTkMyr11Tk12iVEBvwnaH1HBdsN4ZnHGQWA58mUYZHBz1TxoGCp4o7vMStoOlJb5a2xS39RhPHp67lA5H0/51uwG6Lj5NHxr8w2OBst6722cxF2/fxl03LmEQM17uy9muiAi7igggO0Iu2IHMpNlanMRnkzypuGqKN1LHWJ1rJNr1MZlQ==
sodium-benzoate ssh-ed25519
AAAAC3NzaC1lZDI1NTE5AAAAIAqTJmG62zeZGMmHOD+caw0XvGznpfhPaAJEJnWrMdRr
sodium-benzoate ssh-rsa
AAAAB3NzaC1yc2EAAAABIwAAAQEA6rKVV1vf0TEM+80e2uCcsoTvoLQMNJHBvRnBIlrSBTZRctVFAydGLa4UhPdNIE/n/83DuVytZ4c0VS3ASi+7O+AA+NlW+KayKYnD6afzqxRrbMQPdOhFu4GN0q0MXJs3xIl1g0+OmI7RUdesvbZYJBY0uCsjH2Y6u/paqmTkMyr11Tk12iVEBvwnaH1HBdsN4ZnHGQWA58mUYZHBz1TxoGCp4o7vMStoOlJb5a2xS39RhPHp67lA5H0/51uwG6Lj5NHxr8w2OBst6722cxF2/fxl03LmEQM17uy9muiAi7igggO0Iu2IHMpNlanMRnkzypuGqKN1LHWJ1rJNr1MZlQ==
strombola.csclub.uwaterloo.ca ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAICcAk96AtqG1gJd0yc5YQbBHZlzq8/0MXf2b/q7Z3ZGo
strombola.csclub.uwaterloo.ca ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDZhdxHj587MfoUcfTR72ouS1VeRaivD9ZpbAULl7od73Uo4xff/sIuT4hhm+gyQGW9gKA1mQfuhJ34nXnEulaWk3R8dWMxwn0lRElvbIG+bcrCCinKNU2RRoLOCh2cmri4bEF8PaejN/kt91CSRRT4Sko1tG7P58GedrOAxJDmsq7zHoTm9JTAJBa9AuPo6TgurXLN+6zQ+eCvBERcMgPLG8G2bhZg37c/scdI59s0om1oc6LcOSgGkF3yxmBmkSxvworr8rCXzVWhUvbNAdd0P8CI0zBOxxWuUi1/Q0PeRyFmI/T+6DvOuzXKdQgpOZj9dR4rfJb04V/s3C3d+DA1
strombola ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAICcAk96AtqG1gJd0yc5YQbBHZlzq8/0MXf2b/q7Z3ZGo
strombola ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDZhdxHj587MfoUcfTR72ouS1VeRaivD9ZpbAULl7od73Uo4xff/sIuT4hhm+gyQGW9gKA1mQfuhJ34nXnEulaWk3R8dWMxwn0lRElvbIG+bcrCCinKNU2RRoLOCh2cmri4bEF8PaejN/kt91CSRRT4Sko1tG7P58GedrOAxJDmsq7zHoTm9JTAJBa9AuPo6TgurXLN+6zQ+eCvBERcMgPLG8G2bhZg37c/scdI59s0om1oc6LcOSgGkF3yxmBmkSxvworr8rCXzVWhUvbNAdd0P8CI0zBOxxWuUi1/Q0PeRyFmI/T+6DvOuzXKdQgpOZj9dR4rfJb04V/s3C3d+DA1
sucrose.csclub.uwaterloo.ca ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIBxM7kOFiqijhaYQyXADyXk0ktjp4OvZTk/auOSuYltw
sucrose.csclub.uwaterloo.ca ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDPDNlOisklAHEpwXuw+HhHK8WzNRX+unks07c5JPOwDHKdwNj/q0H3Jp1avsfGwwVM3P+mALxi0gk2GBCT4MvOuv0GLiNoKJWz4mwADZcCb7FEdKqlRdpckVcHRNJSIA5lRrkb6IlegF0o8f+y5c+zTZE/4Pa61bIIUvU0hS4rtdvIaCd9x066Rutgl3taQ2tW8btmK7F+pWoTKiaz9KTt0hUcr/SGSrMtI9VNdD1Dt7sAyTqYz6v2OLRlTTF1Q5u2eYlNy9s7dlwHrHrwNgGildU2S/WvIZ0hLBLfU5yCuOocJUGoQdjCA/IbHVnl5jFhDiEJ6eD6jo23nVFWwnNL
sucrose ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIBxM7kOFiqijhaYQyXADyXk0ktjp4OvZTk/auOSuYltw
sucrose ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDPDNlOisklAHEpwXuw+HhHK8WzNRX+unks07c5JPOwDHKdwNj/q0H3Jp1avsfGwwVM3P+mALxi0gk2GBCT4MvOuv0GLiNoKJWz4mwADZcCb7FEdKqlRdpckVcHRNJSIA5lRrkb6IlegF0o8f+y5c+zTZE/4Pa61bIIUvU0hS4rtdvIaCd9x066Rutgl3taQ2tW8btmK7F+pWoTKiaz9KTt0hUcr/SGSrMtI9VNdD1Dt7sAyTqYz6v2OLRlTTF1Q5u2eYlNy9s7dlwHrHrwNgGildU2S/WvIZ0hLBLfU5yCuOocJUGoQdjCA/IbHVnl5jFhDiEJ6eD6jo23nVFWwnNL
taurine.csclub.uwaterloo.ca ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIOFu35kh6YDpTfwmtFpdB8ZUl5hAy4l3q9QGCYL50JFD
taurine.csclub.uwaterloo.ca ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAx69z3QCtSccheSYSqpMHeJUuoco3rfNZfCNuopQDc87RRO9vhqMg1K8cE0RiViY8/ksQ0VDT3LC2WyBCa2p1NJ+TU+ZB4bKpcR0SAH1/pagZvaI+wXq4jYeGzZSHnh2Uh0n5Tt2AycU8sOGs2OyPP3/uYuXOa3DW52ooZsvV61pSJwB7Kne3P/MpXTsOC6zcENVnXypv5dWeWY/0jOYO2WMBkjIsYdqj/4sPx0IIIqR9OKGuxaDVbcXhkC7Uqz5NOQ8r/lfueojWePo2ExuJUsyzv5FFD9Lls3U+gjekTQvNZtyqcx1hCfEFn3Hz87wZvhV6F9394zEU9A0z8X8nMQ==
taurine ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIOFu35kh6YDpTfwmtFpdB8ZUl5hAy4l3q9QGCYL50JFD
taurine ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAx69z3QCtSccheSYSqpMHeJUuoco3rfNZfCNuopQDc87RRO9vhqMg1K8cE0RiViY8/ksQ0VDT3LC2WyBCa2p1NJ+TU+ZB4bKpcR0SAH1/pagZvaI+wXq4jYeGzZSHnh2Uh0n5Tt2AycU8sOGs2OyPP3/uYuXOa3DW52ooZsvV61pSJwB7Kne3P/MpXTsOC6zcENVnXypv5dWeWY/0jOYO2WMBkjIsYdqj/4sPx0IIIqR9OKGuxaDVbcXhkC7Uqz5NOQ8r/lfueojWePo2ExuJUsyzv5FFD9Lls3U+gjekTQvNZtyqcx1hCfEFn3Hz87wZvhV6F9394zEU9A0z8X8nMQ==
test-ipv6.csclub.uwaterloo.ca ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAILYdv1TC4b7N8S0/t6Xvyft0mjrM9d4b54Frj8eQLLQx
test-ipv6.csclub.uwaterloo.ca ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDIgYxewDMHZrNw1yRthPwQxcGD7CBFEWhAG5lKn51lq/uynucz5HBfouy7LU9PTyAJa5FsYVK23eDEHCppYlL+3TwU3gYyC0mEzsM9g2oJPCxvqH59p4qftyNKF9sgv9bkadYf6NT6MMtBlWYN7xLZPBfJkshQEQu85S+zD3JHO8bF7etwWn3sX7gbTheO0LD8jzj6G2AyRTWpkk5v8O7kBiwiZOoC2ehcSfqaxAVqxYbawi+pQ5iXfX8A5RXduezH2XcRKD2GG1/f2nMALXrEq8OrRH7UVFJUPPViQxNnk4D4w2THkNaEnT2/8YcxelzFFY5EhW9pEOBXjZeLRzGr
test-ipv6 ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAILYdv1TC4b7N8S0/t6Xvyft0mjrM9d4b54Frj8eQLLQx
test-ipv6 ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDIgYxewDMHZrNw1yRthPwQxcGD7CBFEWhAG5lKn51lq/uynucz5HBfouy7LU9PTyAJa5FsYVK23eDEHCppYlL+3TwU3gYyC0mEzsM9g2oJPCxvqH59p4qftyNKF9sgv9bkadYf6NT6MMtBlWYN7xLZPBfJkshQEQu85S+zD3JHO8bF7etwWn3sX7gbTheO0LD8jzj6G2AyRTWpkk5v8O7kBiwiZOoC2ehcSfqaxAVqxYbawi+pQ5iXfX8A5RXduezH2XcRKD2GG1/f2nMALXrEq8OrRH7UVFJUPPViQxNnk4D4w2THkNaEnT2/8YcxelzFFY5EhW9pEOBXjZeLRzGr
web1.cloud.csclub.uwaterloo.ca ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIItZUg1AQdug+YyJmBzOVmSZc500Mr3XvccJocAu6u7v
web1.cloud.csclub.uwaterloo.ca ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC+RpVEcnBzPsnknOW32ykx+2pf/yDV+GOsZGxyDqawN7v5FhI9CzNGgoPmPMMsA38PYF9JEMEeL11qKX85NZVtUDpFEBoS+6Qnc689rNuw8nI36L6F7bGbYavbod1/AaHKOCk6LjDi5VXtH/mvyvVJdfJtigrufLVTQut5qZK+uuVY8sCbuscKS49pZRYy9hViP90aVE/2wnr/AyxowCRm7klcmbpeTemho0pgzAVibkJqSpT3rBVLx4eShkiz0hNxQrxOmaAKpm7Jh5StSnGBM94Hwaak1zqBUgA3mO+jmBjGm5seJVKozY5FeM42XVfLeF3duXtQnaQ/bUe9Ov8J
web1.cloud ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIItZUg1AQdug+YyJmBzOVmSZc500Mr3XvccJocAu6u7v
web1.cloud ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC+RpVEcnBzPsnknOW32ykx+2pf/yDV+GOsZGxyDqawN7v5FhI9CzNGgoPmPMMsA38PYF9JEMEeL11qKX85NZVtUDpFEBoS+6Qnc689rNuw8nI36L6F7bGbYavbod1/AaHKOCk6LjDi5VXtH/mvyvVJdfJtigrufLVTQut5qZK+uuVY8sCbuscKS49pZRYy9hViP90aVE/2wnr/AyxowCRm7klcmbpeTemho0pgzAVibkJqSpT3rBVLx4eShkiz0hNxQrxOmaAKpm7Jh5StSnGBM94Hwaak1zqBUgA3mO+jmBjGm5seJVKozY5FeM42XVfLeF3duXtQnaQ/bUe9Ov8J
yerba-mate.csclub.uwaterloo.ca ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAILo5PcuOEnGo1KAIzMP/z3TjHnQqAre2xsumeAeCkNPj
yerba-mate.csclub.uwaterloo.ca ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDOuKRa3mQ9ljfSVmKcX4eXNr4impOHLl4VCWfrfi6fsQnBtgL9tpCZcRKDIqdgIHihqVKGsa4q5pCt9wIZyXnYkAC61+aoWCWJYON6WDacr3WAVQ7kRKR+MX0VSZrUm45WcjQIxfNA2X63DbmOexN5aUjlqwfFdbGGkSn/tQTGblmk35q5ZSyPrS2RvaneCyC/3jM8Al//aaPdN0j+CJF41GcToEbHBqSgV7YVR6AdWuYPE5dlZmZ4Ce9xh9mcWVd7NqXcWR76r7vIVO3ZwzJZ2ux7X/TG+4gzTigHlRw0vEGgVGtuxRuseP/MAX3w2euMebtifEtvAbJGHlpjJ4SV
yerba-mate ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAILo5PcuOEnGo1KAIzMP/z3TjHnQqAre2xsumeAeCkNPj
yerba-mate ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDOuKRa3mQ9ljfSVmKcX4eXNr4impOHLl4VCWfrfi6fsQnBtgL9tpCZcRKDIqdgIHihqVKGsa4q5pCt9wIZyXnYkAC61+aoWCWJYON6WDacr3WAVQ7kRKR+MX0VSZrUm45WcjQIxfNA2X63DbmOexN5aUjlqwfFdbGGkSn/tQTGblmk35q5ZSyPrS2RvaneCyC/3jM8Al//aaPdN0j+CJF41GcToEbHBqSgV7YVR6AdWuYPE5dlZmZ4Ce9xh9mcWVd7NqXcWR76r7vIVO3ZwzJZ2ux7X/TG+4gzTigHlRw0vEGgVGtuxRuseP/MAX3w2euMebtifEtvAbJGHlpjJ4SV

View File

@ -0,0 +1,65 @@
# Package generated configuration file
# See the sshd(8) manpage for details
# What ports, IPs and protocols we listen for
Port 22
# Use only protocol version 2
Protocol 2
# HostKeys for protocol version 2
HostKey /etc/ssh/ssh_host_ed25519_key
HostKey /etc/ssh/ssh_host_rsa_key
KexAlgorithms curve25519-sha256@libssh.org,diffie-hellman-group-exchange-sha256
Ciphers chacha20-poly1305@openssh.com,aes256-gcm@openssh.com,aes128-gcm@openssh.com,aes256-ctr,aes192-ctr,aes128-ctr
MACs hmac-sha2-512-etm@openssh.com,hmac-sha2-256-etm@openssh.com,hmac-ripemd160-etm@openssh.com,umac-128-etm@openssh.com,hmac-sha2-512,hmac-sha2-256,hmac-ripemd160,umac-128@openssh.com
# Privilege Separation is turned on for security
UsePrivilegeSeparation yes
# Logging
SyslogFacility AUTH
LogLevel INFO
# Authentication
UsePAM yes
StrictModes yes
PermitRootLogin yes
LoginGraceTime 120
MaxStartups 25:30:100
# password authentication via PAM (single sign-on initial case)
PasswordAuthentication yes
PermitEmptyPasswords no
# keyboard-interactive authentication (like password, works with +needchange)
ChallengeResponseAuthentication yes
# kerberos (single sign-on already authenticated case)
GSSAPIAuthentication yes
GSSAPIKeyExchange yes
GSSAPICleanupCredentials yes
GSSAPIStrictAcceptorCheck no
# public key authentication with authorized_keys
PubkeyAuthentication yes
# no single sign-on via hosts.equiv; we use kerberos
HostbasedAuthentication no
IgnoreRhosts yes
# no builtin kerberos auth with password, we do the same via pam_krb5
KerberosAuthentication no
# allow X forwarding
X11Forwarding yes
X11DisplayOffset 10
# PAM prints these already
PrintMotd no
PrintLastLog no
# Allow client to pass locale environment variables
AcceptEnv LANG LC_*
Subsystem sftp /usr/lib/openssh/sftp-server

View File

@ -0,0 +1,5 @@
---
- import_tasks: remote_access.yml
- import_tasks: rsyslog.yml
- import_tasks: ntp.yml

View File

@ -0,0 +1,12 @@
---
- name: Start ntp
service:
name: ntp
state: started
enabled: true
- name: Restart ntp
service:
name: ntp
state: restarted

View File

@ -0,0 +1,12 @@
---
- name: Start OpenSSH server
service:
name: sshd
state: started
enabled: true
- name: Restart OpenSSH server
service:
name: sshd
state: restarted

View File

@ -0,0 +1,12 @@
---
- name: Start rsyslog
service:
name: rsyslog
state: started
enabled: true
- name: Restart rsyslog
service:
name: rsyslog
state: restarted

15
roles/core/tasks/dns.yml Normal file
View File

@ -0,0 +1,15 @@
---
- name: Disable resolvconf
service:
name: '{{ item }}'
state: stopped
enabled: false
with_items:
- resolvconf
- systemd-resolved
ignore_errors: true
- name: Configure /etc/resolv.conf
copy:
src: resolv.conf
dest: /etc/resolv.conf
attributes: 'ie'

View File

@ -0,0 +1,16 @@
---
- name: Install rsyslog
apt:
name: rsyslog
cache_valid_time: 3600
notify:
- Start rsyslog
- name: Configure rsyslog
copy:
src: csclub.rsyslog.conf
dest: /etc/rsyslog.d/csclub.conf
notify:
- Restart rsyslog

View File

@ -0,0 +1,8 @@
---
- import_tasks: dns.yml
- import_tasks: mirrors.yml
- import_tasks: remote_access.yml
- import_tasks: ntp.yml
when: not(ansible_virtualization_role == 'guest' and ansible_virtualization_type == 'lxc')
- import_tasks: logging.yml
- import_tasks: packages.yml

View File

@ -0,0 +1,20 @@
---
- name: Configure /etc/apt/sources.list
template:
src: '{{ ansible_distribution | lower}}.sources.list'
dest: /etc/apt/sources.list
mode: 0644
owner: root
group: root
- name: Add debian.csclub.uwaterloo.ca GPG key
apt_key:
url: http://debian.csclub.uwaterloo.ca/csclub.asc
state: present
- name: Add debian.csclub.uwaterloo.ca repository
apt_repository:
repo: '{{ item }}'
state: present
with_items:
- 'deb http://debian.csclub.uwaterloo.ca/ {{ ansible_distribution_release }} main'
- 'deb-src http://debian.csclub.uwaterloo.ca/ {{ ansible_distribution_release }} main'

15
roles/core/tasks/ntp.yml Normal file
View File

@ -0,0 +1,15 @@
---
- name: Install ntp
apt:
name: ntp
cache_valid_time: 3600
notify:
- Start ntp
- name: Copy ntp configuration
copy:
src: ntp.conf
dest: /etc/ntp.conf
notify:
- Restart ntp

View File

@ -0,0 +1,131 @@
---
- name: Install shells
apt:
name: '{{ item }}'
cache_valid_time: 3600
with_items:
- bash
- bash-completion
- bash-doc
- zsh
- zsh-doc
- dash
- ksh
- tcsh
- csh
- rc
- name: Install editors
apt:
name: '{{ item }}'
cache_valid_time: 3600
with_items:
- vim-nox
- ed
- nano
- name: Install words
apt:
name: wamerican-insane
cache_valid_time: 3600
- name: Install utils
apt:
name: '{{ item }}'
cache_valid_time: 3600
with_items:
- acl
- less
- lsof
- bc
- dc
- psmisc
- procps
- htop
- schedtool
- pciutils
- iftop
- attr
- tree
- parted
- rsync
- name: Install network tools
apt:
name: '{{ item }}'
cache_valid_time: 3600
with_items:
- iotop
- iputils-ping
- iputils-arping
- traceroute
- telnet
- iproute2
- ethtool
- dnsutils
- whois
- wget
- curl
- netcat-traditional
- netcat-openbsd
- vlan
- bridge-utils
- tcpdump
- tshark
- ftp
- tftp
- name: Install terminal multiplexers
apt:
name: '{{ item }}'
cache_valid_time: 3600
with_items:
- tmux
- screen
- name: Install compression tools
apt:
name: '{{ item }}'
cache_valid_time: 3600
with_items:
- bzip2
- gzip
- pax
- lzma
- xz-utils
- cpio
- name: Install ncurses
apt:
name: '{{ item }}'
cache_valid_time: 3600
with_items:
- ncurses-bin
- ncurses-term
- name: Install Debian package management tools
apt:
name: '{{ item }}'
cache_valid_time: 3600
with_items:
- aptitude
- dselect
- name: Install gpg
apt:
name: gnupg
cache_valid_time: 3600
- name: Install man pages
apt:
name: '{{ item }}'
cache_valid_time: 3600
with_items:
- manpages
- info
- name: Install molly-guard
apt:
name: molly-guard
cache_valid_time: 3600

View File

@ -0,0 +1,33 @@
---
- name: Install SSH server
apt:
name: openssh-server
cache_valid_time: 3600
notify:
- Start OpenSSH server
- name: Install packages for remote access
apt:
name: '{{ item }}'
cache_valid_time: 3600
with_items:
- openssh-client
- mosh
- name: Configure OpenSSH server
copy:
src: sshd_config
dest: /etc/ssh/sshd_config
notify:
- Restart OpenSSH server
- name: Configure OpenSSH
copy:
src: '{{ item.src }}'
dest: '{{ item.dest }}'
with_items:
- src: ssh_config
dest: /etc/ssh/ssh_config
- src: ssh_known_hosts
dest: /etc/ssh/ssh_known_hosts

View File

@ -0,0 +1,57 @@
## Note, this file is written by cloud-init on first boot of an instance
## modifications made here will not survive a re-bundle.
## if you wish to make changes you can:
## a.) add 'apt_preserve_sources_list: true' to /etc/cloud/cloud.cfg
## or do the same in user-data
## b.) add sources in /etc/apt/sources.list.d
## c.) make changes to template file /etc/cloud/templates/sources.list.tmpl
# See http://help.ubuntu.com/community/UpgradeNotes for how to upgrade to
# newer versions of the distribution.
deb http://mirror.csclub.uwaterloo.ca/ubuntu/ {{ ansible_distribution_release }} main restricted
deb-src http://mirror.csclub.uwaterloo.ca/ubuntu/ {{ ansible_distribution_release }} main restricted
## Major bug fix updates produced after the final release of the
## distribution.
deb http://mirror.csclub.uwaterloo.ca/ubuntu/ {{ ansible_distribution_release }}-updates main restricted
deb-src http://mirror.csclub.uwaterloo.ca/ubuntu/ {{ ansible_distribution_release }}-updates main restricted
## N.B. software from this repository is ENTIRELY UNSUPPORTED by the Ubuntu
## team. Also, please note that software in universe WILL NOT receive any
## review or updates from the Ubuntu security team.
deb http://mirror.csclub.uwaterloo.ca/ubuntu/ {{ ansible_distribution_release }} universe
deb-src http://mirror.csclub.uwaterloo.ca/ubuntu/ {{ ansible_distribution_release }} universe
deb http://mirror.csclub.uwaterloo.ca/ubuntu/ {{ ansible_distribution_release }}-updates universe
deb-src http://mirror.csclub.uwaterloo.ca/ubuntu/ {{ ansible_distribution_release }}-updates universe
## N.B. software from this repository is ENTIRELY UNSUPPORTED by the Ubuntu
## team, and may not be under a free licence. Please satisfy yourself as to
## your rights to use the software. Also, please note that software in
## multiverse WILL NOT receive any review or updates from the Ubuntu
## security team.
deb http://mirror.csclub.uwaterloo.ca/ubuntu/ {{ ansible_distribution_release }} multiverse
deb-src http://mirror.csclub.uwaterloo.ca/ubuntu/ {{ ansible_distribution_release }} multiverse
deb http://mirror.csclub.uwaterloo.ca/ubuntu/ {{ ansible_distribution_release }}-updates multiverse
deb-src http://mirror.csclub.uwaterloo.ca/ubuntu/ {{ ansible_distribution_release }}-updates multiverse
## N.B. software from this repository may not have been tested as
## extensively as that contained in the main release, although it includes
## newer versions of some applications which may provide useful features.
## Also, please note that software in backports WILL NOT receive any review
## or updates from the Ubuntu security team.
deb http://mirror.csclub.uwaterloo.ca/ubuntu/ {{ ansible_distribution_release }}-backports main restricted universe multiverse
deb-src http://mirror.csclub.uwaterloo.ca/ubuntu/ {{ ansible_distribution_release }}-backports main restricted universe multiverse
deb http://mirror.csclub.uwaterloo.ca/ubuntu {{ ansible_distribution_release }}-security main restricted
deb-src http://mirror.csclub.uwaterloo.ca/ubuntu {{ ansible_distribution_release }}-security main restricted
deb http://mirror.csclub.uwaterloo.ca/ubuntu {{ ansible_distribution_release }}-security universe
deb-src http://mirror.csclub.uwaterloo.ca/ubuntu {{ ansible_distribution_release }}-security universe
deb http://mirror.csclub.uwaterloo.ca/ubuntu {{ ansible_distribution_release }}-security multiverse
deb-src http://mirror.csclub.uwaterloo.ca/ubuntu {{ ansible_distribution_release }}-security multiverse
## Uncomment the following two lines to add software from Canonical's
## 'partner' repository.
## This software is not part of Ubuntu, but is offered by Canonical and the
## respective vendors as a service to Ubuntu users.
# deb http://archive.canonical.com/ubuntu {{ ansible_distribution_release }} partner
# deb-src http://archive.canonical.com/ubuntu {{ ansible_distribution_release }} partner