Skip to content

Commit 47056c7

Browse files
committed
more
1 parent 334c967 commit 47056c7

35 files changed

+672
-1075
lines changed
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
If your library doesn’t support a method of validating the fingerprint, the auto-generated CA certificate is created in the following directory on each {{es}} node:
2+
3+
```sh
4+
{{es-conf}}{{slash}}certs{{slash}}http_ca.crt
5+
```
6+
7+
Copy the `http_ca.crt` file to your machine and configure your client to use this certificate to establish trust when it connects to {{es}}.
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
Copy the fingerprint value that’s output to your terminal when {{es}} starts, and configure your client to use this fingerprint to establish trust when it connects to {{es}}.
2+
3+
If the auto-configuration process already completed, you can still obtain the fingerprint of the security certificate by running the following command. The path is to the auto-generated CA certificate for the HTTP layer.
4+
5+
```sh
6+
openssl x509 -fingerprint -sha256 -in config/certs/http_ca.crt
7+
```
8+
9+
The command returns the security certificate, including the fingerprint. The `issuer` should be `{{es}} security auto-configuration HTTP CA`.
10+
11+
```sh
12+
issuer= /CN={{es}} security auto-configuration HTTP CA
13+
SHA256 Fingerprint=<fingerprint>
14+
```

deploy-manage/deploy/self-managed/_snippets/check-es-running.md

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,7 @@
1-
## Check that {{es}} is running [_check_that_elasticsearch_is_running_2]
2-
31
You can test that your {{es}} node is running by sending an HTTPS request to port `9200` on `localhost`:
42

53
```sh
6-
curl --cacert %ES_HOME%\config\certs\http_ca.crt -u elastic:$ELASTIC_PASSWORD https://localhost:9200 <1>
4+
curl --cacert {{es-conf}}{{slash}}certs{{slash}}http_ca.crt -u elastic:$ELASTIC_PASSWORD https://localhost:9200 <1>
75
```
86

97
1. Ensure that you use `https` in your call, or the request will fail.`--cacert`
Lines changed: 1 addition & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,3 @@
1-
## Connect clients to {{es}} [_connect_clients_to_es_2]
2-
31
% This file is reused in each of the installation pages. Ensure that any changes
42
% you make to this file are applicable across all installation environments.
53

@@ -11,33 +9,4 @@ When you start {{es}} for the first time, TLS is configured automatically for th
119

1210
The hex-encoded SHA-256 fingerprint of this certificate is also output to the terminal. Any clients that connect to {{es}}, such as the [{{es}} Clients](https://www.elastic.co/guide/en/elasticsearch/client/index.html), {{beats}}, standalone {{agent}}s, and {{ls}} must validate that they trust the certificate that {{es}} uses for HTTPS. {{fleet-server}} and {{fleet}}-managed {{agent}}s are automatically configured to trust the CA certificate. Other clients can establish trust by using either the fingerprint of the CA certificate or the CA certificate itself.
1311

14-
If the auto-configuration process already completed, you can still obtain the fingerprint of the security certificate. You can also copy the CA certificate to your machine and configure your client to use it.
15-
16-
17-
### Use the CA fingerprint [_use_the_ca_fingerprint_2]
18-
19-
Copy the fingerprint value that’s output to your terminal when {{es}} starts, and configure your client to use this fingerprint to establish trust when it connects to {{es}}.
20-
21-
If the auto-configuration process already completed, you can still obtain the fingerprint of the security certificate by running the following command. The path is to the auto-generated CA certificate for the HTTP layer.
22-
23-
```sh
24-
openssl x509 -fingerprint -sha256 -in config/certs/http_ca.crt
25-
```
26-
27-
The command returns the security certificate, including the fingerprint. The `issuer` should be `Elasticsearch security auto-configuration HTTP CA`.
28-
29-
```sh
30-
issuer= /CN=Elasticsearch security auto-configuration HTTP CA
31-
SHA256 Fingerprint=<fingerprint>
32-
```
33-
34-
35-
### Use the CA certificate [_use_the_ca_certificate_2]
36-
37-
If your library doesn’t support a method of validating the fingerprint, the auto-generated CA certificate is created in the following directory on each {{es}} node:
38-
39-
```sh
40-
{{es-conf}}{{slash}}certs{{slash}}http_ca.crt
41-
```
42-
43-
Copy the `http_ca.crt` file to your machine and configure your client to use this certificate to establish trust when it connects to {{es}}.
12+
If the auto-configuration process already completed, you can still obtain the fingerprint of the security certificate. You can also copy the CA certificate to your machine and configure your client to use it.
Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
When {{es}} starts for the first time, the security auto-configuration process binds the HTTP layer to `0.0.0.0`, but only binds the transport layer to localhost. This intended behavior ensures that you can start a single-node cluster with security enabled by default without any additional configuration.
2+
3+
Before enrolling a new node, additional actions such as binding to an address other than `localhost` or satisfying bootstrap checks are typically necessary in production clusters. During that time, an auto-generated enrollment token could expire, which is why enrollment tokens aren’t generated automatically.
4+
5+
Additionally, only nodes on the same host can join the cluster without additional configuration. If you want nodes from another host to join your cluster, you need to set `transport.host` to a [supported value](asciidocalypse://docs/elasticsearch/docs/reference/elasticsearch/configuration-reference/networking-settings.md#network-interface-values) (such as uncommenting the suggested value of `0.0.0.0`), or an IP address that’s bound to an interface where other hosts can reach it. Refer to [transport settings](asciidocalypse://docs/elasticsearch/docs/reference/elasticsearch/configuration-reference/networking-settings.md#transport-settings) for more information.
6+
7+
To enroll new nodes in your cluster, create an enrollment token with the `elasticsearch-create-enrollment-token` tool on any existing node in your cluster. You can then start a new node with the `--enrollment-token` parameter so that it joins an existing cluster.
8+
9+
1. In a separate terminal from where {{es}} is running, navigate to the directory where you installed {{es}} and run the [`elasticsearch-create-enrollment-token`](asciidocalypse://docs/elasticsearch/docs/reference/elasticsearch/command-line-tools/create-enrollment-token.md) tool to generate an enrollment token for your new nodes.
10+
11+
```sh
12+
bin{{slash}}elasticsearch-create-enrollment-token -s node
13+
```
14+
15+
Copy the enrollment token, which you’ll use to enroll new nodes with your {{es}} cluster.
16+
17+
2. From the installation directory of your new node, start {{es}} and pass the enrollment token with the `--enrollment-token` parameter.
18+
19+
```sh
20+
bin{{slash}}elasticsearch --enrollment-token <enrollment-token>
21+
```
22+
23+
{{es}} automatically generates certificates and keys in the following directory:
24+
25+
```sh
26+
config{{slash}}certs
27+
```
28+
29+
3. Repeat the previous step for any new nodes that you want to enroll.
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
The `/etc/elasticsearch` directory contains the default runtime configuration for {{es}}. The ownership of this directory and all contained files are set to `root:elasticsearch` on package installations.
2+
3+
The `setgid` flag applies group permissions on the `/etc/elasticsearch` directory to ensure that {{es}} can read any contained files and subdirectories. All files and subdirectories inherit the `root:elasticsearch` ownership. Running commands from this directory or any subdirectories, such as the [elasticsearch-keystore tool](../../security/secure-settings.md), requires `root:elasticsearch` permissions.
4+
5+
{{es}} loads its configuration from the `/etc/elasticsearch/elasticsearch.yml` file by default. The format of this config file is explained in [*Configuring {{es}}*](configure-elasticsearch.md).
6+
7+
The {{distro}} package also has a system configuration file (`/etc/sysconfig/elasticsearch`), which allows you to set the following parameters:
8+
9+
`ES_JAVA_HOME`
10+
: Set a custom Java path to be used.
11+
12+
`ES_PATH_CONF`
13+
: Configuration file directory (which needs to include `elasticsearch.yml`, `jvm.options`, and `log4j2.properties` files); defaults to `/etc/elasticsearch`.
14+
15+
`ES_JAVA_OPTS`
16+
: Any additional JVM system properties you may want to apply.
17+
18+
`RESTART_ON_UPGRADE`
19+
: Configure restart on package upgrade, defaults to `false`. This means you will have to restart your {{es}} instance after installing a package manually. The reason for this is to ensure, that upgrades in a cluster do not result in a continuous shard reallocation resulting in high network traffic and reducing the response times of your cluster.
20+
21+
::::{note}
22+
Distributions that use `systemd` require that system resource limits be configured via `systemd` rather than via the `/etc/sysconfig/elasticsearch` file. See [Systemd configuration](setting-system-settings.md#systemd) for more information.
23+
::::

deploy-manage/deploy/self-managed/_snippets/install-next-steps.md

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,3 @@
1-
## Next steps [_next_steps_2]
2-
31
You now have a test {{es}} environment set up. Before you start serious development or go into production with {{es}}, you must do some additional setup:
42

53
* Learn how to [configure {{es}}](configure-elasticsearch.md).
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
When you install {{es}}, the installation process configures a single-node cluster by default. If you want a node to join an existing cluster instead, generate an enrollment token on an existing node *before* you start the new node for the first time.
2+
3+
1. On any node in your existing cluster, generate a node enrollment token:
4+
5+
```sh
6+
/usr/share/elasticsearch/bin/elasticsearch-create-enrollment-token -s node
7+
```
8+
9+
2. Copy the enrollment token, which is output to your terminal.
10+
3. On your new {{es}} node, pass the enrollment token as a parameter to the `elasticsearch-reconfigure-node` tool:
11+
12+
```sh
13+
/usr/share/elasticsearch/bin/elasticsearch-reconfigure-node --enrollment-token <enrollment-token>
14+
```
15+
16+
{{es}} is now configured to join the existing cluster.
17+
18+
4. [Start your new node using `systemd`](#running-systemd).
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
The latest stable version of {{es}} can be found on the [Download {{es}}](https://elastic.co/downloads/elasticsearch) page. Other versions can be found on the [Past Releases page](https://elastic.co/downloads/past-releases).
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
We sign all of our packages with the {{es}} signing key (PGP key [D88E42B4](https://pgp.mit.edu/pks/lookup?op=vindex&search=0xD27D666CD88E42B4), available from [https://pgp.mit.edu](https://pgp.mit.edu)) with fingerprint:
2+
3+
```
4+
4609 5ACC 8548 582C 1A26 99A9 D27D 666C D88E 42B4
5+
```
6+
Download and install the public signing key:

0 commit comments

Comments
 (0)