Commit Graph

4 Commits

Author SHA1 Message Date
Bernhard Miklautz
9f6abd2701 fix [channels]: remove sshagent server side
The server side channel wasn't tested and does not work this way with
FreeRDP. Rely on the server side channel that come with the RDP
server(s).
2018-12-13 10:17:46 +01:00
Ben Cohen
c27541e9ac Add rdpcontext so read thread can report channel error
Also fix copyright dates...
2017-11-10 20:16:00 +00:00
Ben Cohen
7e262213ca Fix socket fd leak and other changes
1. In connect_to_sshagent() if connect() fails, the socket agent_fd is
   leaked.  It needs to be closed before returning.

2. Fix copyright messages.

3. Make if statement with call to CreateThread() clearer to read.
2017-11-10 20:16:00 +00:00
Ben Cohen
0e90841a18 Forward ssh-agent data between ssh-agent and RDP
Add the sshagent plugin to forward the ssh-agent protocol over an RDP
dynamic virtual channel, just as the normal ssh-agent forwards it over
an SSH channel.  Add the "/ssh-agent" command line option to enable it.
Usage:

Run FreeRDP with the ssh-agent plugin enabled:

   xfreerdp /ssh-agent ...

In the remote desktop session run xrdp-ssh-agent and evaluate the output
in the shell as for ssh-agent to set the required environment variables
(specifically $SSH_AUTH_SOCK):

   eval "$(xrdp-ssh-agent -s)"

This is the same as for the normal ssh-agent.  You would typically do
this in your Xsession or /etc/xrdp/startwm.sh.

Limitations:

1. Error checking and handling could be improved.

2. This is only tested on Linux and will only work on systems where
clients talk to the ssh-agent via Unix domain sockets.  It won't
currently work on Windows but it could be ported.
2017-11-10 20:16:00 +00:00