Teleport: tsh تسجيل الدخول - خطأ rpc في Teleport v5.0.0

تم إنشاؤها على ٤ ديسمبر ٢٠٢٠  ·  10تعليقات  ·  مصدر: gravitational/teleport

وصف

ماذا حدث :
عند تشغيل tsh login --proxy=<my_proxy> على cli ، أحصل على الناتج التالي:

>tsh login --proxy=<my_proxy>
If browser window does not open automatically, open it by clicking on the link:
 http://127.0.0.1:53817/<GUID>
error: rpc error: code = Unimplemented desc = unknown method GetKubeServices for service proto.AuthService

ما توقعت حدوثه :
كنت أتوقع أن هذا من شأنه تسجيل الدخول بنجاح إلى النقل الفضائي

كيفية إعادة إنتاجه (بأقل قدر ممكن من الدقة والدقة) :
على MacOs -

>brew install teleport
>tsh version
Teleport v5.0.0 git: go1.15.5
>tsh login --proxy=<my_proxy>

بيئة

  • إصدار النقل الفضائي (استخدم teleport version ): Teleport v5.0.0 git: go1.15.5
  • إصدار Tsh (استخدم tsh version ): Teleport v5.0.0 git: go1.15.5
  • نظام التشغيل (على سبيل المثال من /etc/os-release ): macOS Catalina v 10.15.7

  • أين تقوم بتشغيل Teleport؟ (مثل AWS و GCP والأجهزة المخصصة): إصدار v4 من جانب الخادم

سجلات التصحيح ذات الصلة إذا كان ذلك ممكنًا

  • tsh login --proxy=<my_proxy> --debug
INFO [CLIENT]    Successful auth with proxy teleport.lacework.net:3023 client/api.go:1672
<redacted>
DEBU [AUTH]      GRPC(CLIENT): keep alive 1m0s count: 3. auth/clt.go:320
DEBU [CLIENT]    Client  is connecting to auth server on cluster "teleport.lacework.net". client/client.go:473

ERROR REPORT:
Original Error: *status.statusError rpc error: code = Unimplemented desc = unknown method GetKubeServices for service proto.AuthService
Stack Trace:
    /private/tmp/teleport-20201127-89185-jfx2dt/teleport-5.0.0/src/github.com/gravitational/teleport/lib/auth/clt.go:2978 github.com/gravitational/teleport/lib/auth.(*Client).GetKubeServices
    /private/tmp/teleport-20201127-89185-jfx2dt/teleport-5.0.0/src/github.com/gravitational/teleport/lib/kube/utils/utils.go:155 github.com/gravitational/teleport/lib/kube/utils.KubeClusterNames
    /private/tmp/teleport-20201127-89185-jfx2dt/teleport-5.0.0/src/github.com/gravitational/teleport/lib/kube/kubeconfig/kubeconfig.go:101 github.com/gravitational/teleport/lib/kube/kubeconfig.UpdateWithClient
    /private/tmp/teleport-20201127-89185-jfx2dt/teleport-5.0.0/src/github.com/gravitational/teleport/tool/tsh/tsh.go:609 main.onLogin
    /private/tmp/teleport-20201127-89185-jfx2dt/teleport-5.0.0/src/github.com/gravitational/teleport/tool/tsh/tsh.go:431 main.Run
    /private/tmp/teleport-20201127-89185-jfx2dt/teleport-5.0.0/src/github.com/gravitational/teleport/tool/tsh/tsh.go:212 main.main
    /usr/local/opt/go/libexec/src/runtime/proc.go:213 runtime.main
    /usr/local/opt/go/libexec/src/runtime/asm_amd64.s:1375 runtime.goexit
User Message:

سيكون أي مساعدة موضع تقدير كبير ، حيث يبدو أنه من غير الممكن الرجوع إلى إصدار أقدم عبر homebrew في هذا الوقت.

bug tsh ux

التعليق الأكثر فائدة

أقوم بإعادة فتح المشكلة لتتبع هذا باعتباره تحسينًا مطلوبًا لـ tsh .

الحل البديل في هذه الأثناء لأي شخص آخر يواجه هذه المشكلة هو تخفيض إصدار tsh من 5.xx إلى 4.4.x.

ال 10 كومينتر

الحل الحالي الذي أستخدمه هو brew uninstall teleport وتثبيت tsh v4.4.5 يدويًا https://get.gravitational.com/tsh-4.4.5.pkg

يبدو أن المشكلة تعود إلى استخدام خادم المصادقة v4. كما هو موضح في Slack Teleport v5 it's backwards compatible, but not forwards compatible ( old clients will work with new servers, but new clients may not work with old servers)

ليس لدينا أي سيطرة على الإصدار المعبأ في Homebrew. إن الطريقة الأكثر أمانًا للتأكد من عدم تعطل أي شيء بسبب الترقيات غير المتوقعة هي تثبيت الإصدار الصحيح من الموقع الرسمي والموثق لدينا ، tsh PKG من https://goteleport.com/teleport/download

نقدر الرد من أنت وفريقكwebvictim. يتم الإغلاق نظرًا لأن الدقة هي تثبيت حزمة النقل الفوري من الرابط أعلاه.

rmoles / webvictim الخاص بي 2p سيكون أنه إذا كانت الإصدارات الأحدث tsh غير متوافقة مع الإصدارات السابقة ، فيجب تحسين رسالة الخطأ لتوجيه المستخدم إلى خطأهم (إصدار العميل أحدث من البعيد). لقد رأيت مجموعة من مشغلي الإعداد لدينا قد أصيبوا بهذا الخطأ لأن نقطة النهاية البعيدة التي يحاولون الاتصال بها هي النقل الفوري 4.4 لكنهم ذهبوا للتو وجلبوا أحدث حزمة tsh من صفحة التنزيل الرسمية.

لا أعرف ما إذا كان جلب authVersion هو طلب واجهة برمجة تطبيقات مصادق عليه أو غير مصدق ، ولكن الحل المثالي سيكون إذا كان بإمكان tsh التحقق من الإصدار البعيد مقابل الإصدار الخاص به وتحذير المستخدم من أن الإصدار الخاص به أحدث من جهاز التحكم عن بعد.

لمعلوماتك ، تم حظر تثبيت مثبت MacOS .pkg على MacOs بسبب الخطأ التالي: “teleport-4.4.5.pkg” cannot be opened because it is from an unidentified developer.
يمكن العثور على خطوات التثبيت على أي حال هنا: https://support.apple.com/en-gb/guide/mac-help/mh40616/mac

rmoles teleport-4.4.5.pkg و tsh-4.4.5.pkg أشياء مختلفة في الواقع.

لم يتم توقيع ملفات teleport-*.pkg ، لأن الطريقة التي يتم بها إنشاء ملف النقل الفضائي الثنائي لا تتوافق حاليًا مع متطلبات توقيع MacOS. لدينا مشكلة مفتوحة لإصلاح هذا هنا: # 3158

يتم توقيع ملفات tsh-*.pkg بشهادة مطور رسمية وموثقة من قبل Apple ، لذلك سيتم تثبيتها دون أي مشاكل.

dnwe أوافق. نحن بالفعل نكشف بالفعل الحد الأدنى من إصدار العميل عبر استدعاء API غير مصدق:

$ curl -s https://teleport.example.com:3080/v1/webapi/ping | jq
{
  "auth": {
    "type": "github",
    "second_factor": "u2f",
    "github": {
      "name": "github",
      "display": "Github"
    }
  },
  "proxy": {
    "kube": {},
    "ssh": {
      "listen_addr": "0.0.0.0:3023",
      "tunnel_listen_addr": "0.0.0.0:3080",
      "public_addr": "teleport.example.com:3080",
      "ssh_public_addr": "teleport.example.com:3023",
      "ssh_tunnel_public_addr": "teleport.example.com:3080"
    }
  },
  "server_version": "5.0.0",
  "min_client_version": "3.0.0"
}

سأبحث في سبب عدم تشغيل هذا المنطق لتحذير مستخدمي tsh أن الإصدار الخاص بهم لن يعمل.

أقوم بإعادة فتح المشكلة لتتبع هذا باعتباره تحسينًا مطلوبًا لـ tsh .

الحل البديل في هذه الأثناء لأي شخص آخر يواجه هذه المشكلة هو تخفيض إصدار tsh من 5.xx إلى 4.4.x.

dnwe أوافق. نحن بالفعل نكشف بالفعل الحد الأدنى من إصدار العميل عبر استدعاء API غير مصدق:

...

سأبحث في سبب عدم تشغيل هذا المنطق لتحذير المستخدمين tsh أن الإصدار الخاص بهم لن يعمل.

في هذه الحالة ، سنحتاج إلى إصدار max_client_version ، لتحذير المستخدمين من أنه لا يمكن استخدام tsh 5.x ضد خادم النقل الفوري 4.x

هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات