Was ist passiert : Wenn Sie sich über tsh
teleport status
einem Server tsh
und teleport status
ausführen, ist die Proxy-Hostadresse nicht richtig eingestellt - sie wird als <proxyhost>:3080
angezeigt (was der Standardwert zu sein scheint) ) statt example.gravitational.co:3080
:
$ teleport status
User ID : [email protected], logged in as root from 1.2.3.4 41152 3022
Cluster Name: example.gravitational.co
Host UUID : b2a41144-77c5-41cc-9706-a957b4ee3dca
Session ID : 732bd7eb-<redacted>
Session URL : https://<proxyhost>:3080/web/cluster/example.gravitational.co/node/b2a41144-77c5-41cc-9706-a957b4ee3dca/root/732bd7eb-<redacted>
Dieses Problem bedeutet, dass das Teilen des Links zum Beitreten der Sitzung mit anderen Benutzern nicht wie beabsichtigt funktioniert.
Das SSH_SESSION_WEBPROXY_ADDR
ist auch falsch eingestellt:
$ env | grep SSH_SESSION_WEBPROXY_ADDR
SSH_SESSION_WEBPROXY_ADDR=<proxyhost>:3080
Die Teleport-Konfigurationsdatei gibt die richtigen public_addr
für den Cluster an:
teleport:
log:
output: stderr
severity: DEBUG
data_dir: /var/lib/teleport
storage:
type: dir
auth_service:
enabled: true
license_file: /var/lib/license/license.pem
authentication:
type: oidc
public_addr: example.gravitational.co:3025
cluster_name: example.gravitational.co
ssh_service:
enabled: yes
labels:
environment: demo
role: auth
commands:
- command:
- uptime
- -p
name: uptime
period: 1m
- command:
- uname
- -r
name: kernel
period: 1h
proxy_service:
enabled: true
public_addr: example.gravitational.co:3080
ssh_public_addr: example.gravitational.co:3023
web_listen_addr: 0.0.0.0:3080
listen_addr: 0.0.0.0:3023
https_key_file: /var/lib/certs/privkey.pem
https_cert_file: /var/lib/certs/fullchain.pem
kubernetes:
enabled: true
listen_addr: 0.0.0.0:3026
public_addr: example.gravitational.co:3026
Was Sie erwartet hatten : Sowohl die Ausgabe von teleport status
als auch die Umgebungsvariable SSH_SESSION_WEBPROXY_ADDR
sollten den richtigen Hostnamen für den Zugriff auf den Proxy enthalten.
So reproduzieren Sie es (so minimal und genau wie möglich) : Richten Sie einen Teleport-Cluster mit einer ähnlichen Konfiguration wie der hier gezeigten ein, melden Sie sich bei einem Host an und stellen Sie sicher, dass die Ausgabe von teleport status
nicht richtig eingestellt ist.
Umgebung :
teleport version
): Teleport Enterprise v4.1.2git:v4.1.2-0-g7886df10 go1.12.1
tsh version
): Teleport v4.1.4 git:v4.1.4-0-gc487a75c go1.13.2
Fedora 30
Bezogen auf < proxyhost >
Wenn Sie teleport start
ohne Konfiguration ausführen, meldet eine SSH-Sitzung in diesem Cluster ein korrektes Session URL
(dieteleport start -c teleport.yaml
ausführen (mit einer definierten Konfigurationsdatei), enthält der Session URL
Wert <proxyhost>:3080
.
Wenn Sie die Teleport-Cloud verwenden, müssen die 3080
wahrscheinlich entfernt / geändert werden, da die Teleport-Cloud 443
vs. 3080
ausläuft.