Teleport: tsh login - kesalahan rpc di Teleport v5.0.0

Dibuat pada 4 Des 2020  ·  10Komentar  ·  Sumber: gravitational/teleport

Deskripsi

Apa yang terjadi :
Saat menjalankan tsh login --proxy=<my_proxy> di cli saya mendapatkan output berikut:

>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

Apa yang Anda harapkan terjadi :
Saya berharap ini akan berhasil masuk ke teleportasi

Cara memperbanyaknya (seminimal dan setepat mungkin) :
di MacOs -

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

Lingkungan Hidup

  • Versi teleportasi (gunakan teleport version ): Teleport v5.0.0 git: go1.15.5
  • Versi tsh (gunakan tsh version ): Teleport v5.0.0 git: go1.15.5
  • OS (mis. Dari /etc/os-release ): macOS Catalina v 10.15.7

  • Di mana Anda menjalankan Teleportasi? (mis. AWS, GCP, Perangkat Keras Khusus): Sisi server v4

Log Debug yang Relevan Jika Diterapkan

  • 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:

Bantuan apa pun akan sangat dihargai, karena tampaknya saat ini tidak mungkin untuk menurunkan versi melalui homebrew.

bug tsh ux

Komentar yang paling membantu

Saya membuka kembali masalah untuk melacak ini sebagai perbaikan yang diperlukan untuk tsh .

Solusi sementara bagi siapa pun yang mengalami masalah ini adalah menurunkan versi tsh dari 5.xx ke 4.4.x.

Semua 10 komentar

Solusi saat ini yang saya gunakan adalah brew uninstall teleport dan secara manual menginstal tsh v4.4.5 https://get.gravitational.com/tsh-4.4.5.pkg

Tampaknya masalahnya ada pada penggunaan server auth v4. Seperti yang dijelaskan di 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)

Kami tidak memiliki kendali atas versi yang dikemas dalam Homebrew. Cara teraman untuk memastikan tidak ada yang rusak karena peningkatan yang tidak terduga adalah dengan menginstal versi yang benar dari resmi kami yang ditandatangani, tsh PKG dari https://goteleport.com/teleport/download

Hargai tanggapan dari Anda dan tim Anda @webvictim. Menutup sebagai resolusi adalah menginstal paket teleportasi dari tautan di atas.

@rmoles / @webvictim 2p saya adalah jika versi tsh baru tidak kompatibel ke belakang, maka pesan kesalahan harus diperbaiki untuk mengarahkan pengguna ke kesalahan mereka (versi klien lebih baru daripada jarak jauh). Saya telah melihat banyak operator orientasi kami mengalami kesalahan ini karena titik akhir jarak jauh yang mereka coba sambungkan adalah teleportasi 4.4 tetapi mereka baru saja pergi dan mengambil paket tsh terbaru dari halaman unduhan resmi.

Saya tidak tahu apakah mengambil authVersion adalah permintaan API yang diautentikasi atau tidak diautentikasi, tetapi solusi yang ideal adalah jika tsh dapat memeriksa versi jarak jauhnya sendiri dan memperingatkan pengguna bahwa versinya lebih baru dari remote.

FYI menginstal penginstal MacOS .pkg di MacOs diblokir dengan kesalahan berikut: “teleport-4.4.5.pkg” cannot be opened because it is from an unidentified developer.
Langkah-langkah untuk menginstal dapat ditemukan di sini: https://support.apple.com/en-gb/guide/mac-help/mh40616/mac

@rmoles teleport-4.4.5.pkg dan tsh-4.4.5.pkg sebenarnya adalah hal yang berbeda.

File teleport-*.pkg tidak ditandatangani, karena cara pembuatan biner Teleport saat ini tidak kompatibel dengan persyaratan penandatanganan MacOS. Kami memiliki masalah terbuka untuk memperbaikinya di sini: # 3158

File tsh-*.pkg ditandatangani dengan sertifikat pengembang resmi dan diaktakan oleh Apple, sehingga mereka akan menginstal tanpa masalah.

@dwe saya setuju. Kami sebenarnya sudah mengekspos versi klien minimum melalui panggilan API yang tidak diautentikasi:

$ 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"
}

Saya akan melihat mengapa ini tidak memicu logika untuk memperingatkan pengguna tsh bahwa versi mereka tidak akan berfungsi.

Saya membuka kembali masalah untuk melacak ini sebagai perbaikan yang diperlukan untuk tsh .

Solusi sementara bagi siapa pun yang mengalami masalah ini adalah menurunkan versi tsh dari 5.xx ke 4.4.x.

@dwe saya setuju. Kami sebenarnya sudah mengekspos versi klien minimum melalui panggilan API yang tidak diautentikasi:

...

Saya akan melihat mengapa ini tidak memicu logika untuk memperingatkan tsh pengguna bahwa versi mereka tidak akan berfungsi.

Dalam hal ini adalah max_client_version yang kami perlukan, untuk memperingatkan pengguna bahwa tsh 5.x tidak dapat digunakan untuk melawan teleport 4.x server

Apakah halaman ini membantu?
0 / 5 - 0 peringkat