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

  1. 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.

  2. 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.

  3. 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).

  4. 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.

  5. 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.

  6. 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:

  1. Zamkniętego lub rozłączanego po 60 s portu (firewall/LB)
  2. Nieaktualnego/wadliwego certyfikatu TLS lub przesuniętego zegara
  3. 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.

Oceń odpowiedź:
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.