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>
teleport version
): Teleport v5.0.0 git: go1.15.5tsh version
): Teleport v5.0.0 git: go1.15.5OS (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.
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
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.