hashicorp / boundary

Boundary enables identity-based access management for dynamic infrastructure.
https://boundaryproject.io
Other
3.84k stars 287 forks source link

RDP not working on MacOS #3168

Open somurzakov opened 1 year ago

somurzakov commented 1 year ago

https://github.com/hashicorp/boundary/blob/48e4fcce252c16f95cf3813c9f231e3f1e22e802/internal/cmd/commands/connect/rdp.go#L61

boundary rdp uses "open rdp://" as command to open rdp client on Mac, which doesn't work since every Mac users uses different RDP client of his/her own choice and they dont support rdp:// URI. Please provide users with configurable command to specify their own rdp client. For example RoyalTS uses

Expected behavior Each user should be able to configure ~/.boundary.conf for their rdp client using config file like: rdp_template = "open -n -F -W "rtsx://rdp%3a%2f%2f$USERNAME%3a$PASSWORD@$SERVERNAME%3a$PORT"

1) Let users use config file, in addition to environment variable to configure any Boundary settings 2) Don't hardcode these things in code, put everything in config file and let users customize it

jefferai commented 1 year ago

Hi there,

The rdp subcommand supports a -style flag that can be used to launch different clients. Those are built-in lists, and as the only clients we tested with on Mac use rdp://, open style works fine. But contributions for new styles for these built-in lists are always welcome so that it can support other clients.

That said, boundary connect rdp is just a helper that basically does the same thing as boundary connect -exec with some extra syntactic sugar to try to be nicer for supported RDP clients. You can launch any command you want using boundary connect -exec, and you can easily alias it within your shell. As another example, lots of people use this for things like an SSH ProxyCommand to have ssh to specific endpoints always go through Boundary. I recommend that as a way forward to use Boundary with anything you like!