RMU build Gen-1.5: II. Teleport - C. Share RMU Services Via Teleport

From Internet Computer Wiki
Revision as of 20:57, 23 February 2024 by Katie.peters (talk | contribs)
Jump to: navigation, search

Ref: https://www.youtube.com/watch?v=cvW4b96aPL0

You can use proxmox to open separate shell windows to make copying/pasting between them easier.

On the teleport server:

  1. Create a short lived token to “invite” the Proxmox application. Be sure to edit the <dc> portion in the following command
    • sudo tctl tokens add --type=app,node --app-name=<dc>-proxmox-webui --app-uri=https://localhost:8006
    • Take note of the token and ca_pin values

On the rmu server:

  1. Install pre-req packages:
    • apt update -y && apt upgrade -y && apt install sudo -y
  2. Install the teleport agent:
  3. create the teleport application config:
    • Ensure that the proxy is pointed to your teleport domain name in the following command
    • Ensure that —-app-name has the correct data center code (dc) code in the following command (IE tp1, bu1, dl1, etc)
    • sudo teleport configure --output=file --proxy=teleport.<domain name>:443 --token=/var/lib/teleport/token --roles=app,node --app-name=<dc>-proxmox-webui --app-uri=https://localhost:8006
  4. Save the token generated on the Teleport server:
    • sudo vi /var/lib/teleport/token
  5. Save the ca_pin generated on the Teleport server:
    • sudo vi /var/lib/teleport/ca_pin
    • Screenshot 2023-12-18 at 4.24.07 PM.png
  1. Edit the /etc/teleport.yaml to update the ca_pin resource:
    • sudo vi /etc/teleport.yaml
    • Update the ca_pin resource with the path to the ca_pin file /var/lib/teleport/ca_pin
    • Under ssh_service: in the same indentation of enabled: “yes” add the following
      • Note: change <dc> to your site’s DC code (IE tp1, sh1, bu1, dl1 etc.)
        jsx
                      labels:
                        dc: "<dc>"      
                        login: "root"
    • Remove commands: section
      yaml
                  commands:
                    - name: hostname
                      command: [hostname]
                      period: 1m0s
    • Under name: <dc>-proxmox-webui , in the same indentation of insecure_skip_verify:, change the value of insecure_skip_verify: to true and add the following:
      • Note: change <dc> to your site’s DC code (IE tp1, sh1, bu1, dl1 etc.)
        jsx
                          labels:
                            dc: "<dc>"
    • Sample /etc/teleport.yaml file:
    • Add teleport to /etc/hosts
      • sudo vi /etc/hosts
      • add an entry of 10.10.100.22 teleport.<domain>
      • Save and quit the file
        yaml
                version: v3
                teleport:
                  nodename: rmu
                  data_dir: /var/lib/teleport
                  join_params:
                    token_name: /var/lib/teleport/token
                    method: token
                  proxy_server: teleport.<dc>.<domain.name>:443
                  log:
                    output: stderr
                    severity: INFO
                    format:
                      output: text
                  ca_pin: /var/lib/teleport/ca_pin
                  diag_addr: ""
                auth_service:
                  enabled: "no"
                ssh_service:
                  enabled: "yes"
                  labels:
                    dc: "<dc>"
                    login: "root"
                proxy_service:
                  enabled: "no"
                  https_keypairs: []
                  https_keypairs_reload_interval: 0s
                  acme: {}
                app_service:
                  enabled: "yes"
                  debug_app: false
                  apps:
                  - name: <dc>-proxmox-webui
                      uri: https://localhost:8006
                      public_addr: ""
                      insecure_skip_verify: true
                      labels:
                        dc: "<dc>"

  1. Start the teleport agent:
    • sudo systemctl enable teleport
    • sudo systemctl start teleport