Add teleport
This commit is contained in:
parent
2676ac7a2c
commit
6c78f40d20
3 changed files with 100 additions and 0 deletions
32
teleport/README.md
Normal file
32
teleport/README.md
Normal file
|
@ -0,0 +1,32 @@
|
|||
# teleport
|
||||
|
||||
The easiest, most secure way to access infrastructure.
|
||||
|
||||
## Deploying
|
||||
### Adding the teleport apt repo
|
||||
```bash
|
||||
$ sudo curl https://deb.releases.teleport.dev/teleport-pubkey.asc -o /usr/share/keyrings/teleport-archive-keyring.asc
|
||||
$ echo "deb [signed-by=/usr/share/keyrings/teleport-archive-keyring.asc] https://deb.releases.teleport.dev/ stable main" | sudo tee /etc/apt/sources.list.d/teleport.list
|
||||
```
|
||||
|
||||
### Updating and installing teleport
|
||||
```bash
|
||||
$ sudo apt update
|
||||
$ sudo apt install teleport
|
||||
```
|
||||
|
||||
### Installing as server
|
||||
Copy the `teleport.yaml` to `/etc/teleport.yaml`.
|
||||
|
||||
Start the teleport service.
|
||||
|
||||
### Adding a node
|
||||
Copy the `teleport-node.yaml` to `/etc/teleport.yaml`.
|
||||
On the teleport server create a new invitation token:
|
||||
```bash
|
||||
$ sudo tctl tokens add --type=node
|
||||
```
|
||||
Copy the auth_token and ca_pin and insert in the `teleport.yaml`.
|
||||
Change the node name.
|
||||
|
||||
Start the teleport service.
|
33
teleport/teleport-node.yaml
Normal file
33
teleport/teleport-node.yaml
Normal file
|
@ -0,0 +1,33 @@
|
|||
teleport:
|
||||
nodename: sx48p2
|
||||
data_dir: /var/lib/teleport
|
||||
auth_token: auth_token
|
||||
auth_servers:
|
||||
- tp.jfreudenberger.de:443
|
||||
log:
|
||||
output: /var/lib/teleport/teleport.log
|
||||
severity: ERROR
|
||||
ca_pin: ca_pin
|
||||
auth_service:
|
||||
enabled: no
|
||||
ssh_service:
|
||||
enabled: yes
|
||||
permit_user_env: true
|
||||
commands:
|
||||
- name: hostname
|
||||
command: [hostname]
|
||||
period: 1m0s
|
||||
- name: IP
|
||||
command: ["/usr/bin/curl", "ifconfig.me"]
|
||||
period: 1h0m0s
|
||||
- name: UP
|
||||
command: ["/bin/sh", "-c", "uptime -p | cut -c4- | cut -d',' -f1"]
|
||||
period: 1h0m0s
|
||||
proxy_service:
|
||||
enabled: no
|
||||
app_service:
|
||||
enabled: yes
|
||||
apps:
|
||||
- name: app_name
|
||||
uri: app_uri
|
||||
|
35
teleport/teleport.yaml
Normal file
35
teleport/teleport.yaml
Normal file
|
@ -0,0 +1,35 @@
|
|||
version: v2
|
||||
teleport:
|
||||
nodename: srv02
|
||||
data_dir: /var/lib/teleport
|
||||
log:
|
||||
output: /var/lib/teleport/teleport.log
|
||||
severity: ERROR
|
||||
format:
|
||||
output: text
|
||||
ca_pin: []
|
||||
diag_addr: ""
|
||||
auth_service:
|
||||
enabled: "yes"
|
||||
listen_addr: 0.0.0.0:3025
|
||||
public_addr: tp.jfreudenberger.de:3025
|
||||
cluster_name: "tp.jfreudenberger.de"
|
||||
proxy_listener_mode: multiplex
|
||||
ssh_service:
|
||||
enabled: "yes"
|
||||
commands:
|
||||
- name: hostname
|
||||
command: [hostname]
|
||||
period: 1m0s
|
||||
- name: UP
|
||||
command: ["/bin/sh", "-c", "uptime -p | cut -c4- | cut -d',' -f1"]
|
||||
period: 1h0m0s
|
||||
permit_user_env: true
|
||||
proxy_service:
|
||||
enabled: "yes"
|
||||
web_listen_addr: 0.0.0.0:443
|
||||
public_addr: tp.jfreudenberger.de:443
|
||||
https_keypairs: []
|
||||
acme:
|
||||
enabled: "yes"
|
||||
email: julius@jfreudenberger.de
|
Loading…
Reference in a new issue