Teleport Gravitational – brak połączenia, timeout, certyfikat TLS, porty 443/3080, wersja 15
Pytanie
teleport nie działa
Odpowiedź Sztucznej Inteligencji
Bezpośrednia odpowiedź na pytanie
- „Teleport nie działa” w 90 % przypadków oznacza problem z łącznością sieciową, konfiguracją usługi Teleport (Gravitational), błędnym certyfikatem TLS albo restrykcjami zapory ogniowej.
- Do wyeliminowania awarii konieczna jest szybka diagnoza trzech obszarów: klient → sieć → serwer Teleport.
Kluczowe punkty
• sprawdź wersje komponentów (tsh
, auth
, proxy
, node
)
• zweryfikuj DNS, porty (443/3023/3080) i trasę sieciową
• przeanalizuj logi (tsh --debug
, journalctl -u teleport
)
• potwierdź ważność certyfikatów i synchronizację czasu
• upewnij się, że client_idle_timeout
, LB lub firewall nie zamyka sesji po 60 s
Szczegółowa analiza problemu
-
Topologia Teleport
Klient (tsh
/przeglądarka) → Proxy Service (:443/3080) → Auth Service ↔ Node/Database/Desktop.
Błąd request timeout pojawia się, gdy którykolwiek etap nie odpowie w ustalonym czasie.
-
Diagnostyka po stronie klienta
a) Poprawny adres proxy:
tsh --debug login --proxy=teleport.example.com:443
b) DNS: nslookup teleport.example.com
c) Lokalny firewall/AV: blokada wychodzącego 443/3080.
-
Diagnostyka łączności
a) ICMP (opcjonalnie) ping
.
b) Warstwa TCP:
nc -vz teleport.example.com 443
nc -vz teleport.example.com 3080
c) Jeśli ruch przechodzi przez LB/WAF, sprawdź idle-timeout (często 60 s).
-
Diagnostyka serwera
a) Status usługi: systemctl status teleport
.
b) Logi w czasie rzeczywistym: journalctl -u teleport -f
.
c) Nasłuch portów: ss -tulnp | grep teleport
.
d) Plik /etc/teleport.yaml
• proxy_service: web_listen_addr: 0.0.0.0:3080
• public_addr:
ma pokrywać się z DNS/certyfikatem.
-
Typowe przyczyny i remedia (wg najnowszej dokumentacji 2024-05)
• client_idle_timeout
zbyt krótki → podnieś lub wyłącz w sekcji session_recording
.
• Certyfikat self-signed lub clock-skew → wymuś Let’s Encrypt, NTP (chrony
).
• Niezgodne wersje (> 2 major) komponentów → ujednolić, migracja wg release-notes.
• Reverse-proxy (Nginx/HAProxy) nie przekazuje WebSockets → dopisz Upgrade
i Connection
.
• Teleport nasłuchuje tylko na 127.0.0.1
→ zmień na 0.0.0.0
.
-
Minimalna procedura naprawcza
# 1. Aktualizacja i restart
apt update && apt install teleport
systemctl restart teleport
# 2. Odblokowanie portów
ufw allow 443,3023,3080/tcp
# 3. Sprawdzenie certyfikatu
tctl auth sign --format=cacert
openssl s_client -connect teleport.example.com:443
Aktualne informacje i trendy
- Teleport 14/15+ (wydania z 2024 r.) przeszedł na model Zero Trust z krótkoterminowymi certyfikatami X.509 i JWT; wymaga to częstszej synchronizacji czasu.
- Wersja 15 wprowadza database access hot-reload – restart proxy nie powinien zrywać sesji, jeśli LB obsługuje graceful drain.
- Coraz częstsze wdrożenia w modelu SaaS (Teleport Cloud) eliminują lokalne problemy z certyfikatami i LB.
Wspierające wyjaśnienia i detale
- Teleport używa TLS-ALPN „teleport-proxy-tcp-portal” dla tunelowania; jeśli LB nie przepuszcza niestandardowych ALPN, połączenie zostanie przerwane.
- 60-sekundowy timeout jest domyślny w ELB (AWS), Azure ALB, Cloudflare – ustaw
idle_timeout
≥ 300 s.
- Certyfikaty Teleport są walidowane krzyżowo: Proxy ⇌ Auth ⇌ Node; różnica zegarów > 1 min generuje błąd certificate not yet valid.
Aspekty etyczne i prawne
- Teleport służy do chronionego dostępu do infrastruktury; błędna konfiguracja może naruszyć RODO (dostęp osób nieuprawnionych).
- W środowiskach regulowanych (PCI-DSS, HIPAA) należy włączyć obowiązkowy audit-log i centralną rotację kluczy.
- Eksport logów poza UE wymaga podstawy prawnej (np. SCC).
Praktyczne wskazówki
- Automatyzuj testy E2E po aktualizacji (GitHub Actions +
tsh
) – wykryjesz regresje portów/certów.
- Ustaw NTP na trzech różnych serwerach; Teleport jest wrażliwy na clock-drift.
- Rozdziel role: osobny serwer Auth w VPC prywatnej, Proxy w DMZ.
Ewentualne zastrzeżenia lub uwagi dodatkowe
- Jeśli „teleport” odnosi się do innego produktu (np. Ubiquiti Teleport VPN, skrypt do Minecrafta), powyższe wskazówki nie będą adekwatne – proszę doprecyzować.
- W starszych wersjach (< v9) plik konfiguracyjny miał inny schemat; migracja wymaga konwertera
tctl convert
.
Sugestie dalszych badań
- Test wersji 16-beta z funkcją Bastionless Access (agentless, port 443 only).
- Monitorowanie metryk Prometheus:
teleport_proxy_ssh_connection_failures_total
.
- Analiza wpływu QUIC (propozycja w Teleport RFC-176) na latencję i stabilność sesji.
Krótkie podsumowanie
Najczęściej Teleport „nie działa” z powodu:
- Zamkniętego lub rozłączanego po 60 s portu (firewall/LB)
- Nieaktualnego/wadliwego certyfikatu TLS lub przesuniętego zegara
- Rozbieżnych wersji komponentów lub błędnej konfiguracji nasłuchu
Zweryfikuj kolejno: DNS → porty → logi → certyfikaty → wersje. Jeżeli problem dotyczy innego „teleportu”, podaj szczegóły (nazwa aplikacji, platforma, komunikat błędu) – przygotuję dedykowane kroki.
Zastrzeżenie: Odpowiedzi udzielone przez sztuczną inteligencję (model językowy) mogą być niedokładne i wprowadzające w błąd. Elektroda nie ponosi odpowiedzialności za dokładność, rzetelność ani kompletność prezentowanych informacji. Wszystkie odpowiedzi powinny być zweryfikowane przez użytkownika.