-
Notifications
You must be signed in to change notification settings - Fork 1.8k
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
Proxy X11 Forwarding Support #3803
Conversation
just to note that I think the extension is permit-X11-forwarding (uppercase X) and this caught me out! thank you so much for working on this 😄 |
e2f031a
to
5807c8c
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please add unit and/or integration tests
5807c8c
to
c583418
Compare
case <-ctx.Done(): | ||
return | ||
} | ||
c.Assert(nch.ChannelType(), Equals, teleport.ChanSession) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I believe c.Assert
is not thread-safe.
Probably easier to keep as is, but the race detector might complain.
- Role options now include a `permit_x11_forwarding` bool which is set to `false` by default. - Recording proxies now forward X11 requests and channels when when permitted by RBAC. - User certs will now include the `permit-X11-forwarding` extension when permitted by RBAC. - If X11 forwarding is requested for a session a new `x11` audit event is emitted by recording proxies.
c583418
to
27ee262
Compare
$ tsh version
Teleport v7.3.3 git: go1.17.2
$ tsh ssh -X remote-host
ERROR: unknown short flag '-X' How do I use X11 forwarding with |
Hi @sjackman you can only use -X with the openssh client (so, using |
Support for X11 forwarding to
openssh
nodes(WIP):permit-x11-forwarding
cert extension.Closes #3401
This PR enables minimal X11 forwarding support for teleport clusters by adding the ability to control the
permit-X11-forwarding
certificate extension via RBAC and giving teleport proxies the ability to correctly handle X11 forwarding requests/channels when in recording mode (X11 forwarding technically already worked when not in recording mode, but wasn't particularly useful withoutpermit-X11-forwarding
extension support). In order to leverage X11 forwarding, the user must hold a role with thepermit_x11_forwarding
option enabled:Since this PR only adds support to the proxy,
openssh
still needs to be used for both the client and node. Assumingnode.example.com
were anopenssh
node andalice
hadpermit_x11_forwarding: true
, she could graphically edit the contents ofexample.txt
like so:Which, if the proxy is running in recording mode, would produce an audit event something like this: