Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
47 commits
Select commit Hold shift + click to select a range
912b454
Add slug for self signed certs
GavinFrazar Sep 6, 2022
3d62efd
Add self-signed certs guide
GavinFrazar Sep 6, 2022
524084f
Move tls cert setup into an include snippet
GavinFrazar Sep 6, 2022
ead4b5f
Update tsh section on self signed certs
GavinFrazar Sep 6, 2022
a98850b
Fix indentation
GavinFrazar Sep 6, 2022
bf66bb0
Remove extra slash before heading
GavinFrazar Sep 6, 2022
a592df7
Update docs/config.json
GavinFrazar Sep 13, 2022
607d0c7
Update docs/pages/management/admin.mdx
GavinFrazar Sep 13, 2022
cf9728e
Update docs/pages/includes/tls-certificate-setup.mdx
GavinFrazar Sep 13, 2022
02ff3c8
Update docs/pages/management/admin/self-signed-certs.mdx
GavinFrazar Sep 13, 2022
dd25237
Update docs/pages/management/admin/self-signed-certs.mdx
GavinFrazar Sep 13, 2022
c78c5ad
Update docs/pages/management/admin/self-signed-certs.mdx
GavinFrazar Sep 13, 2022
ce075f7
Update docs/pages/management/admin/self-signed-certs.mdx
GavinFrazar Sep 13, 2022
4f30d02
Fix formatting of github suggestion commit
GavinFrazar Sep 13, 2022
c1194d4
Change link title to avoid abbreviation
GavinFrazar Sep 13, 2022
3385e9f
Update intro to explain the purpose of the guide and why anyone would…
GavinFrazar Sep 13, 2022
166edd0
Make 'proxy' and 'certs' consistent throughout the guide:
GavinFrazar Sep 13, 2022
ad9f8dd
Move motivation for guide out of warning and into intro
GavinFrazar Sep 13, 2022
85a2a65
Simplify the warning notice
GavinFrazar Sep 13, 2022
8bb9232
Change headings
GavinFrazar Sep 13, 2022
4ae2d67
Capitalize helm and simplify label
GavinFrazar Sep 13, 2022
ecb4afb
Update Helm info to include inline instructions
GavinFrazar Sep 13, 2022
2f6bcf3
Simplify systemd label
GavinFrazar Sep 13, 2022
f886d22
Update systemd tab
GavinFrazar Sep 13, 2022
1dbf5d4
Update slug certs -> certificates
GavinFrazar Sep 13, 2022
91fe748
Fix include snippet yaml example
GavinFrazar Sep 19, 2022
58158b1
Change prereqs to omit cloud tab and instruct user to check for self-…
GavinFrazar Sep 19, 2022
b1dd38b
Update docs/pages/management/admin/self-signed-certs.mdx
GavinFrazar Sep 26, 2022
07e5456
Update docs/pages/management/admin/self-signed-certs.mdx
GavinFrazar Sep 26, 2022
449c3fa
Update docs/pages/management/admin/self-signed-certs.mdx
GavinFrazar Sep 26, 2022
0f0eab0
Apply suggestions from code review
GavinFrazar Sep 26, 2022
4390cbd
Update docs/pages/management/admin/self-signed-certs.mdx
GavinFrazar Sep 26, 2022
30511cb
Get specific about problem caused by insecure TLS
GavinFrazar Sep 26, 2022
553c1a2
Remove 'how to setup tls certs' section in favor of a link at the bottom
GavinFrazar Sep 26, 2022
2fc0518
Add examples for tsh and tctl, and clean up tctl wording
GavinFrazar Sep 26, 2022
0e08a13
Remove link to systemd guide
GavinFrazar Sep 26, 2022
6090235
Add more detail to systemd instructions
GavinFrazar Sep 26, 2022
c527039
Change wording around instructions for teleport
GavinFrazar Sep 26, 2022
a0499dc
Rearrange links
GavinFrazar Sep 26, 2022
5b5a739
Merge branch 'master' into gavinfrazar/self_signed_certs
GavinFrazar Sep 29, 2022
f4f4be2
Remove reference to deleted acme.mdx
GavinFrazar Sep 29, 2022
d386d21
Merge branch 'master' into gavinfrazar/self_signed_certs
GavinFrazar Sep 29, 2022
f0d0f2a
Merge branch 'master' into gavinfrazar/self_signed_certs
GavinFrazar Oct 4, 2022
3730890
Remove v2 config reference to auth_servers
GavinFrazar Oct 4, 2022
bfc1d12
Merge branch 'master' into gavinfrazar/self_signed_certs
GavinFrazar Oct 4, 2022
7ab4e7b
Remove list syntax for proxy_server
GavinFrazar Oct 5, 2022
78c4f75
Merge branch 'master' into gavinfrazar/self_signed_certs
GavinFrazar Oct 11, 2022
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 8 additions & 4 deletions docs/config.json
Original file line number Diff line number Diff line change
Expand Up @@ -389,6 +389,10 @@
{
"title": "Run Teleport as a Daemon",
"slug": "/management/admin/daemon/"
},
{
"title": "Run Teleport with Self-Signed Certificates",
"slug": "/management/admin/self-signed-certs/"
}
]
},
Expand Down Expand Up @@ -803,10 +807,10 @@
"title": "Access Controls",
"slug": "/desktop-access/rbac/"
},
{
"title": "Directory Sharing",
"slug": "/desktop-access/directory-sharing/"
},
{
"title": "Directory Sharing",
"slug": "/desktop-access/directory-sharing/"
},
{
"title": "Reference",
"slug": "/desktop-access/reference/",
Expand Down
23 changes: 1 addition & 22 deletions docs/pages/application-access/guides/connecting-apps.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -65,28 +65,7 @@ In our example:
- `teleport.example.com` will host the Access Plane.
- `*.teleport.example.com` will host all of the applications e.g. `grafana.teleport.example.com`.

You can either configure Teleport to obtain a TLS certificate via Let's Encrypt or use an existing certificate and private key (e.g. using [certbot](https://certbot.eff.org/)).
<Tabs>
<TabItem label="Let's Encrypt">
(!docs/pages/includes/acme.mdx!)
</TabItem>
<TabItem label="Existing Credentials">
If you have obtained certificate/key pairs for your domain they can be provided directly
to the proxy service:

```yaml
proxy_service:
enabled: "yes"
web_listen_addr: "0.0.0.0:443"
public_addr: "teleport.example.com:443"
https_keypairs:
- key_file: "/etc/letsencrypt/live/teleport.example.com/privkey.pem"
cert_file: "/etc/letsencrypt/live/teleport.example.com/fullchain.pem"
- key_file: "/etc/letsencrypt/live/*.teleport.example.com/privkey.pem"
cert_file: "/etc/letsencrypt/live/*.teleport.example.com/fullchain.pem"
```
</TabItem>
</Tabs>
(!docs/pages/includes/tls-certificate-setup.mdx!)

### Create a user

Expand Down
29 changes: 1 addition & 28 deletions docs/pages/deploy-a-cluster/open-source.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -110,34 +110,7 @@ Take a look at the [Installation Guide](../installation.mdx) for more options.
Generate a configuration file for Teleport using the `teleport configure` command.
This command requires information about a TLS certificate and private key.

If you are running Teleport on the internet, we recommend using Let's Encrypt to
receive your key and certificate automatically. For private networks or custom
deployments, use your own private key and certificate.

<Tabs>
<TabItem label="Public internet deployment with Let's Encrypt">
(!docs/pages/includes/acme.mdx!)

</TabItem>

<TabItem label="Private network deployment">
On your Teleport host, place a valid private key and a certificate chain in `/var/lib/teleport/privkey.pem`
and `/var/lib/teleport/fullchain.pem` respectively.

The leaf certificate must have a subject that corresponds to the domain of your Teleport host, e.g., `*.teleport.example.com`.

Configure Teleport, changing the values of the `--cluster-name` and `--public-addr` flags to match the domain name of your Teleport host.

```code
$ sudo teleport configure -o file \
--cluster-name=tele.example.com \
--public-addr=tele.example.com:443 \
--cert-file=/var/lib/teleport/fullchain.pem \
--key-file=/var/lib/teleport/privkey.pem
```
</TabItem>

</Tabs>
(!docs/pages/includes/tls-certificate-setup.mdx!)

Next, configure Teleport to provide secure access to your web service. Edit your
Teleport configuration file (`/etc/teleport.yaml`) to include the following,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -144,30 +144,7 @@ If you are exposing your Teleport host to the internet, we recommend using Let's
Encrypt to receive your key and certificate automatically. For private networks
or custom deployments, use your own private key and certificate.

<Tabs>
<TabItem label="Public internet deployment with Let's Encrypt">
(!docs/pages/includes/acme.mdx!)

</TabItem>

<TabItem label="Private network deployment">
On your Teleport host, place a valid private key and a certificate chain in `/var/lib/teleport/privkey.pem`
and `/var/lib/teleport/fullchain.pem` respectively.

The leaf certificate must have a subject that corresponds to the domain of your Teleport host, e.g., `*.teleport.example.com`.

Configure Teleport, changing the values of the `--cluster-name` and `--public-addr` flags to match the domain name of your Teleport host.

```code
$ sudo teleport configure -o file \
--cluster-name=tele.example.com \
--public-addr=tele.example.com:443 \
--cert-file=/var/lib/teleport/fullchain.pem \
--key-file=/var/lib/teleport/privkey.pem
```
</TabItem>

</Tabs>
(!docs/pages/includes/tls-certificate-setup.mdx!)

Next, configure Teleport to provide secure access to your web service. Edit your
Teleport configuration file (`/etc/teleport.yaml`) to include the following,
Expand Down
59 changes: 59 additions & 0 deletions docs/pages/includes/tls-certificate-setup.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
If you are running Teleport on the internet, we recommend using Let's Encrypt to
receive your key and certificate automatically. For private networks or custom
deployments, use your own private key and certificate.
<Tabs>

<TabItem label="Public internet deployment with Let's Encrypt">
Let's Encrypt verifies that you control the domain name of your Teleport cluster
by communicating with the HTTPS server listening on port 443 of your Teleport
Proxy Service.

You can configure the Teleport Proxy Service to complete the Let's Encrypt
verification process when it starts up.

On the host where you will start the Teleport Auth Service and Proxy Service,
run the following `teleport configure` command, where `tele.example.com` is the
domain name of your Teleport cluster and `user@example.com` is an email address
used for notifications (you can use any domain):

```code
$ DOMAIN=tele.example.com
$ EMAIL=user@example.com
$ teleport configure --acme --acme-email=${EMAIL?} --cluster-name=${DOMAIN?} | \
sudo tee /etc/teleport.yaml > /dev/null
```

The `--acme`, `--acme-email`, and `--cluster-name` flags will add the following
settings to your Teleport configuration file:

```yaml
proxy_service:
enabled: "yes"
web_listen_addr: 0.0.0.0:443
public_addr: tele.example.com:443
acme:
enabled: "yes"
email: user@example.com
```

Port 443 on your Teleport Proxy Service host must allow traffic from all sources.
</TabItem>

<TabItem label="Private network deployment">
On your Teleport host, place a valid private key and a certificate chain in `/var/lib/teleport/privkey.pem`
and `/var/lib/teleport/fullchain.pem` respectively.

The leaf certificate must have a subject that corresponds to the domain of your Teleport host, e.g., `*.teleport.example.com`.

Configure Teleport, changing the values of the `--cluster-name` and `--public-addr` flags to match the domain name of your Teleport host.

```code
$ sudo teleport configure -o file \
--cluster-name=tele.example.com \
--public-addr=tele.example.com:443 \
--cert-file=/var/lib/teleport/fullchain.pem \
--key-file=/var/lib/teleport/privkey.pem
```
</TabItem>

</Tabs>
2 changes: 2 additions & 0 deletions docs/pages/management/admin.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,8 @@ cluster maintenance tasks.

- [Teleport Daemon](./admin/daemon.mdx): Set up Teleport as a daemon on Linux with systemd.
- [Upgrade the Teleport Binary](./admin/upgrading-the-teleport-binary.mdx): Upgrade the `teleport` binary without losing connections.
- [Run Teleport with Self-Signed Certificates](./admin/self-signed-certs.mdx): Set up Teleport in a local
environment without configuring TLS certificates.

## Manage users and resources

Expand Down
Loading