Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[v11] Proxy Client #24737

Merged
merged 2 commits into from
Apr 21, 2023
Merged

[v11] Proxy Client #24737

merged 2 commits into from
Apr 21, 2023

Conversation

rosstimothy
Copy link
Contributor

Backports just the SSH portion of the api/proxy.Client from #22629 and #23644 to branch/v11. The Proxy gRPC server only exists on branch/v13 and later.

A new `api/client/proxy/Client` has been added to interact with
the SSH and gRPC servers that the Proxy serves on its SSH port.
The client will first try connecting to the gRPC server and if
that fails it will fall back to the SSH server.

Much of the SSH functionality mimics the existing behavior of the
`ProxyClient` in `lib/client`. This is the first part of phasing
out that client in favor of the new client. There will be a follow
up PR that migrates `lib/client` to make use of the new client instead.

Part of #19812
@rosstimothy rosstimothy force-pushed the tross/backport-22629/v11 branch from 20c5d7d to f43168e Compare April 18, 2023 15:52
Instead of relying on users to provide the cluster name, the client
now determines the cluster name by inspecting the certificate
presented by the Proxy during the TLS or SSH handshake. This is
required when connecting to a Proxy via a jump host since the
name of the cluster may not match the currently logged in cluster.

This is achieved by leveraging a custom `credentials.TransportCredentials`
when connecting via gRPC and a custom `ssh.HostKeyCallback` when
connecting SSH.
@rosstimothy rosstimothy force-pushed the tross/backport-22629/v11 branch from f43168e to 7988ca0 Compare April 18, 2023 17:14
@rosstimothy rosstimothy marked this pull request as ready for review April 18, 2023 17:33
@github-actions github-actions bot requested review from gzdunek and timothyb89 April 18, 2023 17:33
@github-actions github-actions bot added backport size/lg tsh tsh - Teleport's command line tool for logging into nodes running Teleport. labels Apr 18, 2023
@rosstimothy rosstimothy added this pull request to the merge queue Apr 21, 2023
Merged via the queue into branch/v11 with commit 92a9ab1 Apr 21, 2023
@rosstimothy rosstimothy deleted the tross/backport-22629/v11 branch April 21, 2023 14:20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
backport size/lg tsh tsh - Teleport's command line tool for logging into nodes running Teleport.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants