{"id":2313,"date":"2019-03-02T10:54:17","date_gmt":"2019-03-02T07:54:17","guid":{"rendered":"http:\/\/kifarunix.com\/?p=2313"},"modified":"2019-03-02T10:54:17","modified_gmt":"2019-03-02T07:54:17","slug":"how-to-enable-rdp-ssh-file-transfer-over-guacamole","status":"publish","type":"post","link":"https:\/\/kifarunix.com\/how-to-enable-rdp-ssh-file-transfer-over-guacamole\/","title":{"rendered":"How to Enable RDP\/SSH File Transfer Over Guacamole"},"content":{"rendered":"
Today, we are going to learn how to enable RDP\/SSH file transfer over guacamole. Before you can proceed, ensure that you have Guacamole up and running. You can check our previous guides on setting up Guacamole on Ubuntu 18.04, Debian 9.8 and Fedora 29 by following the links below;<\/p>\n
With Guacamole, it is possible to transfer files between the remote systems and the local systems. Currently file transfer is supported for VNC, RDP, and SSH, using either the native file transfer support of the protocol or SFTP.<\/p>\n
You can transfer files either by dragging and dropping or by using the upload button on the Guacamole menu.<\/p>\n
In order to enable file transfer over SSH on Guacamole using SFTP protocol, you need to edit the Once you have made the changes, restart Tomcat and Guacamole daemon to effect.<\/p>\n Note that you can only transfer files to the directory on which you have write permissions.<\/p>\n Navigate to the Guacamole web interface and initiate an SSH connection to the remote server to transfer files to. Once you have logged in to the remote server, press Next, click the device button to select the destination folder to upload the files to.<\/p>\n Click on the Next, close the Settings window by pressing Since file transfer is disabled by default, you need to need to define the Ensure that the path specified by the drive-path parameter must exist on the Guacamole server and accessible by guacd, readable and writable by the user that runs guacd. Note that this does not refer to a directory on the RDP server.<\/span><\/p>\n Next, check if the If the directory neither does the Once that is done, restart tomcat and guacd.<\/p>\n This will automatically create a virtual drive from which users can transfer files to and from. This virtual drive will appear as a network drive within the RDP session. Files uploaded and downloaded will be preserved within this drive, even after disconnecting.<\/p>\n Login to Guacamole Web dashboard and initiate a connection to your Windows system. Once you are logged in, you should be able to see an RDP virtual drive created.<\/p>\n\/etc\/guacamole\/user-mapping.xml<\/code> and set the value of the
enable-sftp<\/code> parameter to
true<\/code> for the SSH connection.<\/p>\n
vim \/etc\/guacamole\/user-mapping.xml<\/code><\/pre>\n
...\r\n <!-- First authorized connection -->\r\n <connection name=\"Ubuntu-Server\">\r\n <protocol>ssh<\/protocol>\r\n <param name=\"hostname\">192.168.43.3<\/param>\r\n <param name=\"port\">22<\/param>\r\n <param name=\"username\">amos<\/param>\r\n <param name=\"enable-sftp\">true<\/param><\/strong>\r\n <\/connection>\r\n...<\/code><\/pre>\n
systemctl restart tomcat8\r\nsystemctl restart guacd<\/code><\/pre>\n
Ctrl+Shift+Alt<\/code> to open the Guacamole settings window.<\/p>\n
<\/a><\/p>\n
<\/a><\/p>\n
Upload Files<\/code> button on the top of the settings window to upload the files. The file transfer progress is shown on the bottom left of the window.<\/p>\n
<\/a><\/p>\n
Ctrl+Shift+Alt<\/code> and run
ls<\/code> on the remote upload directory to list the available files. You can also drag and drop the file to and from the server.<\/p>\n
Transfer Files over RDP on Guacamole<\/h3>\n
enable-drive<\/code> and
drive-path<\/code> parameters on the
\/etc\/guacamole\/user-mapping.xml<\/code> configuration file to enable it.
enable-drive<\/code> enables file transfer feature while
drive-path<\/code> defines the directory in which transferred files will be stored.<\/p>\n
vim \/etc\/guacamole\/user-mapping.xml<\/code><\/pre>\n
<connection name=\"Windows 7\">\r\n <protocol>rdp<\/protocol>\r\n <param name=\"hostname\">192.168.100.86<\/param>\r\n <param name=\"port\">3389<\/param>\r\n <param name=\"enable-drive\">true<\/param><\/strong>\r\n <param name=\"drive-path\">\/shared-folder<\/param><\/strong>\r\n <\/connection><\/code><\/pre>\n
guacdr-client.so<\/code> library object is available on the
\/usr\/lib\/x86_64-linux-gnu\/freerdp<\/code> directory.<\/p>\n
guacdr-client.so<\/code> library exits, create the directory and make a symbolic of the
guacdr-client.so<\/code> library object from
\/usr\/local\/lib\/freerdp\/guacdr-client.so<\/code> as shown below;<\/p>\n
mkdir -p \/usr\/lib\/x86_64-linux-gnu\/freerdp\r\nln -s \/usr\/local\/lib\/freerdp\/guacdr-client.so \/usr\/lib\/x86_64-linux-gnu\/freerdp<\/code><\/pre>\n
systemctl restart tomcat8\r\nsystemctl restart guacd<\/code><\/pre>\n