More generic name for lab host
This commit is contained in:
7
lab/inventory.ini
Normal file
7
lab/inventory.ini
Normal file
@@ -0,0 +1,7 @@
|
||||
[leftcoastlab]
|
||||
lab
|
||||
|
||||
[leftcoastlab:vars]
|
||||
ansible_ssh_user=motheradmin
|
||||
ansible_ssh_private=ssh/keys/local-net/motheradmin
|
||||
ansible_ssh_common_args='-F ssh/config -o UserKnownHostsFile=ssh/hosts'
|
||||
18
lab/readme
Normal file
18
lab/readme
Normal file
@@ -0,0 +1,18 @@
|
||||
What this directory contains
|
||||
============================
|
||||
|
||||
This includes playbooks and scripts used to setup a local lab server as a
|
||||
docker host which you can use to basically do whatever.
|
||||
|
||||
What I use on my own lab server
|
||||
===============================
|
||||
|
||||
> Ubuntu 21.10
|
||||
|
||||
> Docker for hosting various local services more easily
|
||||
|
||||
> Local DNS
|
||||
|
||||
> Git Tea for private Git service
|
||||
|
||||
> Nginx as a reverse proxy for local web services
|
||||
3
lab/roles/setup/defaults/main.yml
Normal file
3
lab/roles/setup/defaults/main.yml
Normal file
@@ -0,0 +1,3 @@
|
||||
---
|
||||
# defaults file for setup
|
||||
LAB_FQDN: lab.local
|
||||
8
lab/roles/setup/files/default.lablad
Normal file
8
lab/roles/setup/files/default.lablad
Normal file
@@ -0,0 +1,8 @@
|
||||
# This config is purely for the default landing page that nginx normally serves
|
||||
# up. The intention is to make Nginx's default page useful
|
||||
|
||||
server {
|
||||
listen 80 default_server;
|
||||
listen [::]:80 default_server;
|
||||
root /var/www/html;
|
||||
}
|
||||
18
lab/roles/setup/files/etc/hosts
Normal file
18
lab/roles/setup/files/etc/hosts
Normal file
@@ -0,0 +1,18 @@
|
||||
# WARN: this should never be committed to source control
|
||||
# The following is used because we
|
||||
# use DNSMasq for its dead simple nature
|
||||
|
||||
127.0.0.1 localhost
|
||||
127.0.1.1 recycled-lab-host
|
||||
|
||||
# Sugma
|
||||
192.168.1.23 git.lablad
|
||||
192.168.1.23 files.lablad
|
||||
192.168.1.23 main.lablad
|
||||
192.168.1.23 music.lablad
|
||||
192.168.1.1 router
|
||||
|
||||
# The following lines are desirable for IPv6 capable hosts
|
||||
::1 localhost ip6-localhost ip6-loopback
|
||||
ff02::1 ip6-allnodes
|
||||
ff02::2 ip6-allrouters
|
||||
6
lab/roles/setup/files/files.lablad
Normal file
6
lab/roles/setup/files/files.lablad
Normal file
@@ -0,0 +1,6 @@
|
||||
server {
|
||||
server_name files.lablad.net;
|
||||
location / {
|
||||
proxy_pass http://127.0.0.1:8080;
|
||||
}
|
||||
}
|
||||
10
lab/roles/setup/files/git.lablad
Normal file
10
lab/roles/setup/files/git.lablad
Normal file
@@ -0,0 +1,10 @@
|
||||
# This file pertains to the Gitea service which is served under the FQDN:
|
||||
# git.lablad
|
||||
# The default port is listed under /vars/main.yml as 3000 as GITEA_PUB_PORT
|
||||
|
||||
server {
|
||||
server_name git.lablad.net;
|
||||
location / {
|
||||
proxy_pass http://127.0.0.1:3000;
|
||||
}
|
||||
}
|
||||
8
lab/roles/setup/files/home.lablad
Normal file
8
lab/roles/setup/files/home.lablad
Normal file
@@ -0,0 +1,8 @@
|
||||
server {
|
||||
root /var/www/html;
|
||||
index index.html;
|
||||
server_name lablad.net;
|
||||
location / {
|
||||
try_files $uri $uri/ =404;
|
||||
}
|
||||
}
|
||||
10
lab/roles/setup/files/metrics.lablad
Normal file
10
lab/roles/setup/files/metrics.lablad
Normal file
@@ -0,0 +1,10 @@
|
||||
# metrics.lablad
|
||||
|
||||
server {
|
||||
server_name metrics.lablad.net;
|
||||
proxy_set_header Host $http_host;
|
||||
location / {
|
||||
proxy_pass http://127.0.0.1:6000;
|
||||
}
|
||||
}
|
||||
|
||||
6
lab/roles/setup/files/music.lablad
Normal file
6
lab/roles/setup/files/music.lablad
Normal file
@@ -0,0 +1,6 @@
|
||||
server {
|
||||
server_name music.lablad.net;
|
||||
location / {
|
||||
proxy_pass http://127.0.0.1:4040;
|
||||
}
|
||||
}
|
||||
17
lab/roles/setup/files/services/node_exporter.service
Normal file
17
lab/roles/setup/files/services/node_exporter.service
Normal file
@@ -0,0 +1,17 @@
|
||||
[Unit]
|
||||
Description=Node Exporter which exposes host metrics for Prometheus
|
||||
After=network.target
|
||||
|
||||
[Service]
|
||||
WorkingDirectory=/opt/prom-node-exporter
|
||||
Type=simple
|
||||
Restart=simple
|
||||
Restart=always
|
||||
Restart=10
|
||||
ExecStart=/opt/prom-node-exporter/node_exporter
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
|
||||
|
||||
|
||||
8
lab/roles/setup/files/todo.lablad
Normal file
8
lab/roles/setup/files/todo.lablad
Normal file
@@ -0,0 +1,8 @@
|
||||
server {
|
||||
server_name todo.lablad.net;
|
||||
location / {
|
||||
proxy_pass http://127.0.0.1:9238;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
14
lab/roles/setup/files/vault-config.json
Normal file
14
lab/roles/setup/files/vault-config.json
Normal file
@@ -0,0 +1,14 @@
|
||||
{
|
||||
"backend": {
|
||||
"file": {
|
||||
"path": "/vault/file"
|
||||
}
|
||||
},
|
||||
"listener": {
|
||||
"tcp": {
|
||||
"address": "0.0.0.0:{{VAULT_PORT}}",
|
||||
"tls_disable": 1
|
||||
}
|
||||
},
|
||||
"ui": true
|
||||
}
|
||||
11
lab/roles/setup/files/vault.lablad
Normal file
11
lab/roles/setup/files/vault.lablad
Normal file
@@ -0,0 +1,11 @@
|
||||
# This file pertains to the Gitea service which is served under the FQDN:
|
||||
# vault.lablad
|
||||
# The default port is listed under /vars/main.yml as 8200 as VAULT_PORT
|
||||
|
||||
server {
|
||||
server_name vault.lablad.net;
|
||||
location / {
|
||||
proxy_pass http://127.0.0.1:8200;
|
||||
}
|
||||
}
|
||||
|
||||
31
lab/roles/setup/meta/main.yml
Normal file
31
lab/roles/setup/meta/main.yml
Normal file
@@ -0,0 +1,31 @@
|
||||
galaxy_info:
|
||||
author: shockrah
|
||||
description: This role provides multiple tools for setting up a private lab server
|
||||
company: Personal
|
||||
|
||||
# If the issue tracker for your role is not on github, uncomment the
|
||||
# next line and provide a value
|
||||
# issue_tracker_url: http://example.com/issue/tracker
|
||||
|
||||
license: GPL-3.0-only
|
||||
|
||||
min_ansible_version: 2.1
|
||||
|
||||
# If this a Container Enabled role, provide the minimum Ansible Container version.
|
||||
# min_ansible_container_version:
|
||||
|
||||
platforms:
|
||||
- name: Ubuntu
|
||||
versions:
|
||||
- Jammy
|
||||
|
||||
galaxy_tags: []
|
||||
# List tags for your role here, one per line. A tag is a keyword that describes
|
||||
# and categorizes the role. Users find roles by searching for tags. Be sure to
|
||||
# remove the '[]' above, if you add tags to this list.
|
||||
#
|
||||
# NOTE: A tag is limited to a single word comprised of alphanumeric characters.
|
||||
# Maximum 20 tags per role.
|
||||
|
||||
dependencies:
|
||||
- community.docker
|
||||
25
lab/roles/setup/tasks/firewall_setup.yml
Normal file
25
lab/roles/setup/tasks/firewall_setup.yml
Normal file
@@ -0,0 +1,25 @@
|
||||
---
|
||||
- hosts: lab
|
||||
become: yes
|
||||
vars:
|
||||
lan_subnet: "192.168.1.0/24"
|
||||
tasks:
|
||||
- name: Enable Firewall rules for basic LAN access
|
||||
community.general.ufw:
|
||||
rule: allow
|
||||
port: '{{ item }}'
|
||||
proto: tcp
|
||||
src: '{{ lan_subnet }}'
|
||||
loop:
|
||||
- 22
|
||||
- 53
|
||||
- 80
|
||||
- 443
|
||||
- name: Enable K3s Ports
|
||||
community.general.ufw:
|
||||
rule: allow
|
||||
port: '{{ item }}'
|
||||
proto: tcp
|
||||
loop:
|
||||
- 6443
|
||||
|
||||
10
lab/roles/setup/tasks/get_latest_base_packages.yml
Normal file
10
lab/roles/setup/tasks/get_latest_base_packages.yml
Normal file
@@ -0,0 +1,10 @@
|
||||
# Simply update all required packages that we have on the system
|
||||
# This also takes care of updating any packages that must updated through means
|
||||
# of Git or some other non-apt method should it be required
|
||||
---
|
||||
- hosts: leftcoastlab
|
||||
become: yes
|
||||
tasks:
|
||||
- name: Distribution Upgrade
|
||||
apt:
|
||||
upgrade: dist
|
||||
154
lab/roles/setup/tasks/k3s_setup.yml
Normal file
154
lab/roles/setup/tasks/k3s_setup.yml
Normal file
@@ -0,0 +1,154 @@
|
||||
---
|
||||
# Auto install from the quickstart
|
||||
# If airgapped, all K3s artifacts are already on the node.
|
||||
- hosts:
|
||||
tasks:
|
||||
- name: Download K3s install script
|
||||
ansible.builtin.get_url:
|
||||
url: https://get.k3s.io/
|
||||
timeout: 120
|
||||
dest: /usr/local/bin/k3s-install.sh
|
||||
owner: root
|
||||
group: root
|
||||
mode: 0755
|
||||
|
||||
- name: Download K3s binary
|
||||
ansible.builtin.command:
|
||||
cmd: /usr/local/bin/k3s-install.sh
|
||||
changed_when: true
|
||||
|
||||
- name: Add K3s autocomplete to user bashrc
|
||||
ansible.builtin.lineinfile:
|
||||
path: "~{{ ansible_user }}/.bashrc"
|
||||
regexp: '\.\s+<\(k3s completion bash\)'
|
||||
line: ". <(k3s completion bash) # Added by k3s-ansible"
|
||||
|
||||
|
||||
- name: Enable and check K3s service
|
||||
ansible.builtin.systemd:
|
||||
name: k3s
|
||||
daemon_reload: true
|
||||
state: started
|
||||
enabled: true
|
||||
|
||||
- name: Pause to allow first server startup
|
||||
when: (groups['server'] | length) > 1
|
||||
ansible.builtin.pause:
|
||||
seconds: 10
|
||||
|
||||
- name: Check whether kubectl is installed on control node
|
||||
ansible.builtin.command: 'kubectl'
|
||||
register: kubectl_installed
|
||||
ignore_errors: true
|
||||
delegate_to: 127.0.0.1
|
||||
become: false
|
||||
changed_when: false
|
||||
|
||||
- name: Apply K3S kubeconfig to control node
|
||||
when: kubectl_installed.rc == 0
|
||||
block:
|
||||
- name: Copy kubeconfig to control node
|
||||
ansible.builtin.fetch:
|
||||
src: /etc/rancher/k3s/k3s.yaml
|
||||
dest: "{{ kubeconfig }}"
|
||||
flat: true
|
||||
|
||||
- name: Change server address in kubeconfig on control node
|
||||
ansible.builtin.shell: |
|
||||
KUBECONFIG={{ kubeconfig }} kubectl config set-cluster default --server=https://{{ api_endpoint }}:{{ api_port }}
|
||||
delegate_to: 127.0.0.1
|
||||
become: false
|
||||
register: csa_result
|
||||
changed_when:
|
||||
- csa_result.rc == 0
|
||||
|
||||
- name: Setup kubeconfig k3s-ansible context on control node
|
||||
when: kubeconfig != "~/.kube/config"
|
||||
ansible.builtin.replace:
|
||||
path: "{{ kubeconfig }}"
|
||||
regexp: 'name: default'
|
||||
replace: 'name: k3s-ansible'
|
||||
delegate_to: 127.0.0.1
|
||||
become: false
|
||||
|
||||
- name: Merge with any existing kubeconfig on control node
|
||||
when: kubeconfig != "~/.kube/config"
|
||||
ansible.builtin.shell: |
|
||||
TFILE=$(mktemp)
|
||||
KUBECONFIG={{ kubeconfig }} kubectl config set-context k3s-ansible --user=k3s-ansible --cluster=k3s-ansible
|
||||
KUBECONFIG={{ kubeconfig }} kubectl config view --flatten > ${TFILE}
|
||||
mv ${TFILE} {{ kubeconfig }}
|
||||
delegate_to: 127.0.0.1
|
||||
become: false
|
||||
register: mv_result
|
||||
changed_when:
|
||||
- mv_result.rc == 0
|
||||
|
||||
- name: Start other server if any and verify status
|
||||
when:
|
||||
- (groups['server'] | length) > 1
|
||||
- inventory_hostname != groups['server'][0]
|
||||
block:
|
||||
- name: Copy K3s service file [HA]
|
||||
when: groups['server'] | length > 1
|
||||
ansible.builtin.template:
|
||||
src: "k3s-ha.service.j2"
|
||||
dest: "{{ systemd_dir }}/k3s.service"
|
||||
owner: root
|
||||
group: root
|
||||
mode: 0644
|
||||
|
||||
- name: Enable and check K3s service
|
||||
ansible.builtin.systemd:
|
||||
name: k3s
|
||||
daemon_reload: true
|
||||
state: started
|
||||
enabled: true
|
||||
|
||||
- name: Verify that all server nodes joined
|
||||
when: (groups['server'] | length) > 1
|
||||
ansible.builtin.command:
|
||||
cmd: >
|
||||
k3s kubectl get nodes -l "node-role.kubernetes.io/control-plane=true" -o=jsonpath="{.items[*].metadata.name}"
|
||||
register: nodes
|
||||
until: nodes.rc == 0 and (nodes.stdout.split() | length) == (groups['server'] | length)
|
||||
retries: 20
|
||||
delay: 10
|
||||
changed_when: false
|
||||
|
||||
- name: Setup kubectl for user
|
||||
block:
|
||||
- name: Create kubectl symlink
|
||||
when: lookup('fileglob', '/usr/local/bin/kubectl', errors='warn') | length == 0
|
||||
ansible.builtin.file:
|
||||
src: /usr/local/bin/k3s
|
||||
dest: /usr/local/bin/kubectl
|
||||
state: link
|
||||
|
||||
- name: Create directory .kube
|
||||
ansible.builtin.file:
|
||||
path: ~{{ ansible_user }}/.kube
|
||||
state: directory
|
||||
owner: "{{ ansible_user }}"
|
||||
mode: "u=rwx,g=rx,o="
|
||||
|
||||
- name: Copy config file to user home directory
|
||||
ansible.builtin.copy:
|
||||
src: /etc/rancher/k3s/k3s.yaml
|
||||
dest: ~{{ ansible_user }}/.kube/config
|
||||
remote_src: true
|
||||
owner: "{{ ansible_user }}"
|
||||
mode: "u=rw,g=,o="
|
||||
|
||||
- name: Configure default KUBECONFIG for user
|
||||
ansible.builtin.lineinfile:
|
||||
path: ~{{ ansible_user }}/.bashrc
|
||||
regexp: 'export KUBECONFIG=~/.kube/config'
|
||||
line: 'export KUBECONFIG=~/.kube/config # Added by k3s-ansible'
|
||||
state: present
|
||||
|
||||
- name: Configure kubectl autocomplete
|
||||
ansible.builtin.lineinfile:
|
||||
path: ~{{ ansible_user }}/.bashrc
|
||||
regexp: '\.\s+<\(kubectl completion bash\)'
|
||||
line: ". <(kubectl completion bash) # Added by k3s-ansible"
|
||||
0
lab/roles/setup/templates/.gitkeep
Normal file
0
lab/roles/setup/templates/.gitkeep
Normal file
19
lab/roles/setup/tests/test.yml
Normal file
19
lab/roles/setup/tests/test.yml
Normal file
@@ -0,0 +1,19 @@
|
||||
---
|
||||
- hosts: lab
|
||||
tasks:
|
||||
- name: Normal Echo
|
||||
command: echo Quick test of an echo
|
||||
register: normal_echo
|
||||
|
||||
- debug:
|
||||
var: normal_echo.stdout
|
||||
|
||||
- name: Checking Sudo access
|
||||
become: yes
|
||||
command: echo One more test with sudo this time
|
||||
register: sudo_echo
|
||||
|
||||
- debug:
|
||||
var: sudo_echo.stdout
|
||||
- debug:
|
||||
var: sudo_echo.stderr
|
||||
13
lab/roles/setup/vars/main.yml
Normal file
13
lab/roles/setup/vars/main.yml
Normal file
@@ -0,0 +1,13 @@
|
||||
---
|
||||
# vars file for setup
|
||||
UBUNTU_CODENAME: jammy
|
||||
GITEA_PUB_PORT: 3000
|
||||
GITEA_SSH_PORT: 2222
|
||||
FILEBROWSER_PORT: 8080
|
||||
LOKI_PORT: 3100
|
||||
GRAFANA_PORT: 6000
|
||||
SUBSONIC_PORT: 4040
|
||||
PROM_PORT: 9090
|
||||
KANBOARD_PORT: 9238
|
||||
KANBOARD_PORT_SSL: 9239
|
||||
VAULT_PORT: 8200
|
||||
11
lab/scripts/connect.sh
Normal file
11
lab/scripts/connect.sh
Normal file
@@ -0,0 +1,11 @@
|
||||
#!/bin/sh
|
||||
|
||||
set -x
|
||||
set -e
|
||||
|
||||
keyfile=ssh/keys/local-net/motheradmin
|
||||
|
||||
ssh -i $keyfile \
|
||||
-o UserKnownHostsFile=ssh/hosts \
|
||||
-D 9999 \
|
||||
motheradmin@192.168.1.100
|
||||
12
lab/scripts/sftp.sh
Normal file
12
lab/scripts/sftp.sh
Normal file
@@ -0,0 +1,12 @@
|
||||
#!/bin/sh
|
||||
|
||||
set -x
|
||||
set -e
|
||||
|
||||
keyfile=./ssh/keys/files/files
|
||||
|
||||
sftp -i $keyfile \
|
||||
-o UserKnownHostsFile=ssh/hosts \
|
||||
files@192.168.1.23
|
||||
|
||||
|
||||
4
lab/secrets.yml
Normal file
4
lab/secrets.yml
Normal file
@@ -0,0 +1,4 @@
|
||||
DRONE_RPC_SECRET: "jfEz3rcLsBNYTqMAhSzeHc7hLXm7XHhWjXGWIvRGxpNP4TWV6EFSUbSXtHzS4Nse"
|
||||
ansible_sudo_pass: mommymilkers
|
||||
LANDING_PAGE_ROOT_PATH: "/home/shockrah/GitRepos/lab/landing"
|
||||
DRONE_RPC_HOST: "192.168.1.23"
|
||||
9
lab/ssh/config
Normal file
9
lab/ssh/config
Normal file
@@ -0,0 +1,9 @@
|
||||
Host lab
|
||||
HostName 192.168.1.23
|
||||
IdentityFile /home/shockrah/Rice/docker-host/ssh/keys/local-net/motheradmin
|
||||
User motheradmin
|
||||
|
||||
Host lab
|
||||
HostName 192.168.1.23
|
||||
IdentityFile /home/shockrah/Rice/docker-host/ssh/keys/files/files
|
||||
User files
|
||||
3
lab/ssh/hosts
Normal file
3
lab/ssh/hosts
Normal file
@@ -0,0 +1,3 @@
|
||||
192.168.1.23 ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIAL5oK29/uyeJd3DfGDco+kWu6doiAwSi8RHJ+CZuaYy
|
||||
|1|w2jGHou9S8acGRTXweWFfFTYylM=|eCWP27P7CRwkMp2BLRgDrY8TQJc= ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIAL5oK29/uyeJd3DfGDco+kWu6doiAwSi8RHJ+CZuaYy
|
||||
|1|OMYSSOaUNJN2wh8Akm+cSX3i2Mw=|np5DmNBHFAdoP7WfGb833Ke/XCc= ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIF+ZphEQ8VstxE1wp2YINtRELT1jVLZPtqqC095o/BGs
|
||||
38
lab/ssh/keys/files/files
Normal file
38
lab/ssh/keys/files/files
Normal file
@@ -0,0 +1,38 @@
|
||||
-----BEGIN OPENSSH PRIVATE KEY-----
|
||||
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
|
||||
-----END OPENSSH PRIVATE KEY-----
|
||||
1
lab/ssh/keys/files/files.pub
Normal file
1
lab/ssh/keys/files/files.pub
Normal file
@@ -0,0 +1 @@
|
||||
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDjKqaB+xVwt7LMrC7Rrbwd3aPvf7TpMOPjm3Zo0wUaOkAEB+5RuFladXp0LfHhyO3AjlCfvoXm7BfrioYGAf8m/2iwSAoC4F9yRdMAAYMmJmikRY/VbhmkEbGhPwR7NmcuUzblqW/R9m5WjHlCHjWZh4Hat9KIjsAFVdTr8ivCX729O/R0bagY/Zb7S2e7/O1RXngO2v17J6adSNfsw/MUz8pbG0Z+1WGBw45gTaxVhc8O5fH+9y6F8IL3EPZx4KT2QD2rT8cc1+0GoGDDn8vV7/8Ic/U0fUmpC6xRH6/isYKEds7UJETn/4VlVuEINe+fuLKnb2On4ady/E+GVUjJfpW+vsZ3FDuTY+nbJqSE7c4GSsjuin5D3VM50nq2jDI6XMBcN/dJQ2imP6a9gfjFvL+HHofHLwm+TJ0zKiWjb3lS8eOIkfmX5kbQsvTg1nmrmE2NyF+1P8tguf1tMw75v78rFNTZ7n9IBOi707VB1xK9xE/NnhVq///lMuvYSnU= Filestash user key
|
||||
38
lab/ssh/keys/git/git
Normal file
38
lab/ssh/keys/git/git
Normal file
@@ -0,0 +1,38 @@
|
||||
-----BEGIN OPENSSH PRIVATE KEY-----
|
||||
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
|
||||
-----END OPENSSH PRIVATE KEY-----
|
||||
1
lab/ssh/keys/git/git.pub
Normal file
1
lab/ssh/keys/git/git.pub
Normal file
@@ -0,0 +1 @@
|
||||
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQC/TKJ2WNhiecHRGRVUk/+SLJyX4t1CR+3JWyrrOsoAsTtoGQoWu8I7GN8wPNqAgTdgw6KOx3V7C3vKXSGTnDa7IhWsdURRUB3S7ErH80ATVc0+yiq8f8t6Dcd2jy5FyPyfkgHIrKZqp8hplhFlHc2iUL/5qbDHNBH+o+aiAUtsdgxj0WSmb5I2jDe5ZBB+r5hjKnMP9dwxsBarLquQnSpLAMWLu0jWjNzStOeRJACEPxlwTD/cRQ2m7OQaUVi8fBvgQuZJaRYz4opD59wzqAtU0YC5skGHNZvlt4G66cUUWfWm45mEB28SM/VKbqeZ6i0JDrBKgCPjkEtDapE21CBY2Xnas2Zpr0WOXUkDe1X3eLG23is0Qy2rpdIpa5IHgfbl/UTiG1k25Grsl/nzJi9SgRO14RmGuWPcGKndOEjmTk+lh8qA/tr9L6ZeCB+s9QJ8fuJWNBPnMT1j8fngKaF3pZdSTkjNxGiZn3cNF0cmNsA4sxixvebKqawbl3uwYNM= shockrah@shocky-boo
|
||||
38
lab/ssh/keys/local-net/motheradmin
Normal file
38
lab/ssh/keys/local-net/motheradmin
Normal file
@@ -0,0 +1,38 @@
|
||||
-----BEGIN OPENSSH PRIVATE KEY-----
|
||||
b3BlbnNzaC1rZXktdjEAAAAABG5vbmUAAAAEbm9uZQAAAAAAAAABAAABlwAAAAdzc2gtcn
|
||||
NhAAAAAwEAAQAAAYEAqrvvUKf9wLapGFv8StaF9BlHP6HL5Q/544cZ/Y33NnJvDjoIUO15
|
||||
MG3nY0a6qjBdSVOxpDfIXGpQu7fhawSEDDrfMa2TTu4DYQZj2a99C8fla+GnKKYapTngwm
|
||||
MXcKh09ODx3UTHvGjSI+JbRreB2EZjnC2mloeo4Duge+mmZYXdrQYVY2jmZCw0Z+ycLhDF
|
||||
h1qhBzAUL2/7yWx/Z7F8Y7FBBZUW0YvM73sw/0DwzrWXm99EZVcbEFDbZqN1YZex/i+IEZ
|
||||
fmgQWlTwBZfKFuiNDdKH3J8GvCA0/hUWlho9bJ2TyCg9u1n7m90d6jQts98fktBHN3aaix
|
||||
9R9Hqah1NHiBMlo6IV9TGLMIIhp8Oyv/a7uRmL+sShKuYeTbvAXvL+Ajei+7TLHzhm1N7Z
|
||||
rUlS4Xzhf+n/dvDBHDEAtRY6v5TpIl1KTpDUpPkesgNHk33TmAc4+RGyK8scYeVitSYxqP
|
||||
vX96NK7L3kqmA7wavsNHm1UzUfMxHV/SAA3xnMAHAAAFiEZiBQtGYgULAAAAB3NzaC1yc2
|
||||
EAAAGBAKq771Cn/cC2qRhb/ErWhfQZRz+hy+UP+eOHGf2N9zZybw46CFDteTBt52NGuqow
|
||||
XUlTsaQ3yFxqULu34WsEhAw63zGtk07uA2EGY9mvfQvH5WvhpyimGqU54MJjF3CodPTg8d
|
||||
1Ex7xo0iPiW0a3gdhGY5wtppaHqOA7oHvppmWF3a0GFWNo5mQsNGfsnC4QxYdaoQcwFC9v
|
||||
+8lsf2exfGOxQQWVFtGLzO97MP9A8M61l5vfRGVXGxBQ22ajdWGXsf4viBGX5oEFpU8AWX
|
||||
yhbojQ3Sh9yfBrwgNP4VFpYaPWydk8goPbtZ+5vdHeo0LbPfH5LQRzd2mosfUfR6modTR4
|
||||
gTJaOiFfUxizCCIafDsr/2u7kZi/rEoSrmHk27wF7y/gI3ovu0yx84ZtTe2a1JUuF84X/p
|
||||
/3bwwRwxALUWOr+U6SJdSk6Q1KT5HrIDR5N905gHOPkRsivLHGHlYrUmMaj71/ejSuy95K
|
||||
pgO8Gr7DR5tVM1HzMR1f0gAN8ZzABwAAAAMBAAEAAAGAMa4p/vBDGFaOcbYifaxaoiLQ5q
|
||||
Uv7WFut1RSrcMnkkJOKnecf9/6CauRTwP/wRH9sx6VbFGHDc0p3NWu1DMmMWDYHV6CpM8B
|
||||
ULRJTciQvGLYUUICIAPlcPqcejPXWELMdY0XE+m1rQ9bRnHRWYyATex9g66M8PRcoZL4Kd
|
||||
ZdQuFnFbfVdW3KzI9IWI0zDPx4XeBzRuIonX0aaQwXLpcouOGVKAiv8R2a7nyMT1oYOC4D
|
||||
Bao7/rkP+PluPjmGKHW5Laaec65eM5chJDnB64hLsVORZw2Sx9qjfdtCMSd9ecYgzBBWof
|
||||
7GdMvhNYG8L+OymvZITGpuG3MeFoNJs1yQnCgLkNLWXp+JEF/A2457X8swEWWtwqCbMzA1
|
||||
tc2YIUvxBa0hMPZ6mO8BzYpn540XOYybbNOJjuk7nzAkdnZA+qL6LeEqkDZyKcykz/Frub
|
||||
nRPsqHPSNN0eFrwjzkYs7iroNvfiWN+IwWw5QZ1lSJZTwPCSD5bOv5iiWwWOdd7w7hAAAA
|
||||
wEOh9mMU1S5otcx+m7MuOdNdKJXnnCc24JbYPjuSia+E/ak5ey3+NMdH5VUiYrd2ax3PZi
|
||||
VstW0IdQheT5a6qMB6qhu5stQqWiQJXsXJ3LKwWEWSmVMTJEHyX6tse1heOtm9gBn0WqV3
|
||||
n91BTqHovi8ClteDdAHU8pe+v/ikpDlf55J2SA+XORhrKRfx/SIB6gTjMT3p00DKo89UND
|
||||
HZ9Dl9R/of6TV4V0pXVcvAbKefNBvO36nnC9PmqWC2glhClwAAAMEA1lod4+aNkc7CpZK6
|
||||
+Yd2wCRQAv0gwTHW8bQQ1Xr720yoV1CjWH3m1RuJ3bIQDQKfGn/XL3LHFJK6546rny1MY0
|
||||
eVryzz7bTTtbYjLVpYvMqm4lmsldwBiW2S1r8j2FFxG9ffpJ0/d3os5gTwpogQpnZq/tYu
|
||||
4KNTJ2tEXkhDsh5Lj7VQvfB2QCVjaR7oE6Ah60h43ThPtu9oPtajiixVVlIB7uIJy1/aTH
|
||||
DsPDlpymI5NBqNFrBXF/K6socm2L65AAAAwQDL6ELQi2KglZHv65A2H8AvkTW4N13ouuFQ
|
||||
7x/ek6QwZQumeUXw2EHsY4n8By3jqiOgEt1aiYBh9OTazYabbqzgAK1R2dAu6kRSQBRaU7
|
||||
0rpxK5CrO9ggxgUhSCUtMaEnwR2wOBDsVn0NQ7PWoO3bqwItBrEpR1wM+qLXd9qpNAruEY
|
||||
W3h4SRORC+saudv+8czUHa2fYajnNE0fuS8I2Cwmcu8jakqNva0HtB5tq6poGnDyrglbfM
|
||||
HvvjGNe78AFL8AAAATc2hvY2tyYWhAc2hvY2t5LWJvbw==
|
||||
-----END OPENSSH PRIVATE KEY-----
|
||||
1
lab/ssh/keys/local-net/motheradmin.pub
Normal file
1
lab/ssh/keys/local-net/motheradmin.pub
Normal file
@@ -0,0 +1 @@
|
||||
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQCqu+9Qp/3AtqkYW/xK1oX0GUc/ocvlD/njhxn9jfc2cm8OOghQ7XkwbedjRrqqMF1JU7GkN8hcalC7t+FrBIQMOt8xrZNO7gNhBmPZr30Lx+Vr4acophqlOeDCYxdwqHT04PHdRMe8aNIj4ltGt4HYRmOcLaaWh6jgO6B76aZlhd2tBhVjaOZkLDRn7JwuEMWHWqEHMBQvb/vJbH9nsXxjsUEFlRbRi8zvezD/QPDOtZeb30RlVxsQUNtmo3Vhl7H+L4gRl+aBBaVPAFl8oW6I0N0ofcnwa8IDT+FRaWGj1snZPIKD27Wfub3R3qNC2z3x+S0Ec3dpqLH1H0epqHU0eIEyWjohX1MYswgiGnw7K/9ru5GYv6xKEq5h5Nu8Be8v4CN6L7tMsfOGbU3tmtSVLhfOF/6f928MEcMQC1Fjq/lOkiXUpOkNSk+R6yA0eTfdOYBzj5EbIryxxh5WK1JjGo+9f3o0rsveSqYDvBq+w0ebVTNR8zEdX9IADfGcwAc= shockrah@shocky-boo
|
||||
Reference in New Issue
Block a user