{"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":"<p>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<ul>\n<li class=\"entry-title td-module-title\"><a title=\"How to Install and Configure Guacamole on Fedora 29\" href=\"https:\/\/kifarunix.com\/how-to-install-and-configure-guacamole-on-fedora-29\/\" target=\"_blank\" rel=\"bookmark noopener\">How to Install and Configure Guacamole on Fedora 29<\/a><\/li>\n<li class=\"entry-title td-module-title\"><a title=\"How to Install and Configure Guacamole on Fedora 29\" href=\"https:\/\/kifarunix.com\/how-to-install-and-configure-guacamole-on-fedora-29\/\" target=\"_blank\" rel=\"bookmark noopener\">How to Install and Setup Guacamole on Debian 9.8<\/a><\/li>\n<li class=\"entry-title td-module-title\"><a title=\"How to Install and Configure Guacamole on Fedora 29\" href=\"https:\/\/kifarunix.com\/how-to-install-and-configure-guacamole-on-fedora-29\/\" target=\"_blank\" rel=\"bookmark noopener\">How to Setup Guacamole Web-based Remote Desktop Access Tool on Ubuntu 18.04<\/a><\/li>\n<\/ul>\n<h2>How to Enable RDP\/SSH File Transfer Over Guacamole<\/h2>\n<p>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<p>You can transfer files either by dragging and dropping or by using the upload button on the Guacamole menu.<\/p>\n<h3>Transfer Files over SSH using SFTP protocol<\/h3>\n<p>In order to enable file transfer over SSH on Guacamole using SFTP protocol, you need to edit the <code>\/etc\/guacamole\/user-mapping.xml<\/code> and set the value of the <code>enable-sftp<\/code> parameter to <code>true<\/code> for the SSH connection.<\/p>\n<pre>vim \/etc\/guacamole\/user-mapping.xml<\/code><\/pre>\n<pre>...\r\n        &lt;!-- First authorized connection --&gt;\r\n        &lt;connection name=\"Ubuntu-Server\"&gt;\r\n            &lt;protocol&gt;ssh&lt;\/protocol&gt;\r\n            &lt;param name=\"hostname\"&gt;192.168.43.3&lt;\/param&gt;\r\n            &lt;param name=\"port\"&gt;22&lt;\/param&gt;\r\n            &lt;param name=\"username\"&gt;amos&lt;\/param&gt;\r\n           <strong> &lt;param name=\"enable-sftp\"&gt;true&lt;\/param&gt;<\/strong>\r\n        &lt;\/connection&gt;\r\n...<\/code><\/pre>\n<p>Once you have made the changes, restart Tomcat and Guacamole daemon to effect.<\/p>\n<pre>systemctl restart tomcat8\r\nsystemctl restart guacd<\/code><\/pre>\n<p>Note that you can only transfer files to the directory on which you have write permissions.<\/p>\n<p>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 <code>Ctrl+Shift+Alt<\/code> to open the Guacamole settings window.<\/p>\n<p><a href=\"http:\/\/kifarunix.com\/wp-content\/uploads\/2019\/03\/guacamole-settings-window.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-2315\" src=\"http:\/\/kifarunix.com\/wp-content\/uploads\/2019\/03\/guacamole-settings-window.png\" alt=\"Enable RDP\/SSH File Transfer Over Guacamole\" width=\"1107\" height=\"982\" title=\"\" srcset=\"https:\/\/kifarunix.com\/wp-content\/uploads\/2019\/03\/guacamole-settings-window.png 1107w, https:\/\/kifarunix.com\/wp-content\/uploads\/2019\/03\/guacamole-settings-window-768x681.png 768w\" sizes=\"(max-width: 1107px) 100vw, 1107px\" \/><\/a><\/p>\n<p>Next, click the device button to select the destination folder to upload the files to.<\/p>\n<p><a href=\"http:\/\/kifarunix.com\/wp-content\/uploads\/2019\/03\/upload.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-2316\" src=\"http:\/\/kifarunix.com\/wp-content\/uploads\/2019\/03\/upload.png\" alt=\"Enable RDP\/SSH File Transfer Over Guacamole\" width=\"1915\" height=\"939\" title=\"\" srcset=\"https:\/\/kifarunix.com\/wp-content\/uploads\/2019\/03\/upload.png 1915w, https:\/\/kifarunix.com\/wp-content\/uploads\/2019\/03\/upload-768x377.png 768w\" sizes=\"(max-width: 1915px) 100vw, 1915px\" \/><\/a><\/p>\n<p>Click on the <code>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<p><a href=\"http:\/\/kifarunix.com\/wp-content\/uploads\/2019\/03\/file-transfer-progress.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-2317\" src=\"http:\/\/kifarunix.com\/wp-content\/uploads\/2019\/03\/file-transfer-progress.png\" alt=\"Enable RDP\/SSH File Transfer Over Guacamole\" width=\"631\" height=\"148\" title=\"\"><\/a><\/p>\n<p>Next, close the Settings window by pressing <code>Ctrl+Shift+Alt<\/code> and run <code>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<h3>Transfer Files over RDP on Guacamole<\/h3>\n<p>Since file transfer is disabled by default, you need to need to define the <code>enable-drive<\/code> and <code>drive-path<\/code> parameters on the <code>\/etc\/guacamole\/user-mapping.xml<\/code> configuration file to enable it. <code>enable-drive<\/code> enables file transfer feature while <code>drive-path<\/code> defines the directory in which transferred files will be stored.<\/p>\n<pre>vim \/etc\/guacamole\/user-mapping.xml<\/code><\/pre>\n<pre>        &lt;connection name=\"Windows 7\"&gt;\r\n            &lt;protocol&gt;rdp&lt;\/protocol&gt;\r\n            &lt;param name=\"hostname\"&gt;192.168.100.86&lt;\/param&gt;\r\n            &lt;param name=\"port\"&gt;3389&lt;\/param&gt;\r\n            <strong>&lt;param name=\"enable-drive\"&gt;true&lt;\/param&gt;<\/strong>\r\n            <strong>&lt;param name=\"drive-path\"&gt;\/shared-folder&lt;\/param&gt;<\/strong>\r\n        &lt;\/connection&gt;<\/code><\/pre>\n<p>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 <span class=\"emphasis\">does not refer to a directory on the RDP server.<\/span><\/p>\n<p>Next, check if the <code>guacdr-client.so<\/code> library object is available on the <code>\/usr\/lib\/x86_64-linux-gnu\/freerdp<\/code> directory.<\/p>\n<p>If the directory neither does the <code>guacdr-client.so<\/code> library exits, create the directory and make a symbolic of the <code>guacdr-client.so<\/code> library object from <code>\/usr\/local\/lib\/freerdp\/guacdr-client.so<\/code> as shown below;<\/p>\n<pre>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<p>Once that is done, restart tomcat and guacd.<\/p>\n<pre>systemctl restart tomcat8\r\nsystemctl restart guacd<\/code><\/pre>\n<p>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<p>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<p><a href=\"http:\/\/kifarunix.com\/wp-content\/uploads\/2019\/03\/RDP-virtual-drive.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-2318\" src=\"http:\/\/kifarunix.com\/wp-content\/uploads\/2019\/03\/RDP-virtual-drive.png\" alt=\"Enable RDP\/SSH File Transfer Over Guacamole\" width=\"1418\" height=\"743\" title=\"\" srcset=\"https:\/\/kifarunix.com\/wp-content\/uploads\/2019\/03\/RDP-virtual-drive.png 1418w, https:\/\/kifarunix.com\/wp-content\/uploads\/2019\/03\/RDP-virtual-drive-768x402.png 768w\" sizes=\"(max-width: 1418px) 100vw, 1418px\" \/><\/a><\/p>\n<p>To transfer files to the remote, use the upload button on the Guacamole settings window that you can launch by pressing <code>Ctrl+Shift+Alt<\/code>. The file will automatically put the file on the RDP virtual drive on the remote system.<\/p>\n<p>To Download the files from the remote system, just place the files on the <code>Download<\/code> folder on the RDP virtual drive. This will automatically prompt you to save the file on your local system.<\/p>\n<p>You can always check either syslog or Tomcat logs for any error messages, just in case.<\/p>\n<p>That is all about how to enable RDP\/SSH file transfer over Guacamole. You can learn more about Guacamole file transfer <a href=\"http:\/\/guacamole.apache.org\/doc\/gug\/using-guacamole.html#file-transfer\" target=\"_blank\" rel=\"noopener\">here<\/a>. Enjoy<\/p>\n","protected":false},"excerpt":{"rendered":"<p>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<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"rank_math_lock_modified_date":false,"footnotes":""},"categories":[121,214],"tags":[215,336,216,71],"class_list":["post-2313","post","type-post","status-publish","format-standard","hentry","category-howtos","category-remote-desktop","tag-guacamole","tag-guacd","tag-rdp","tag-ssh","generate-columns","tablet-grid-50","mobile-grid-100","grid-parent","grid-50"],"_links":{"self":[{"href":"https:\/\/kifarunix.com\/wp-json\/wp\/v2\/posts\/2313"}],"collection":[{"href":"https:\/\/kifarunix.com\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/kifarunix.com\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/kifarunix.com\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/kifarunix.com\/wp-json\/wp\/v2\/comments?post=2313"}],"version-history":[{"count":2,"href":"https:\/\/kifarunix.com\/wp-json\/wp\/v2\/posts\/2313\/revisions"}],"predecessor-version":[{"id":2319,"href":"https:\/\/kifarunix.com\/wp-json\/wp\/v2\/posts\/2313\/revisions\/2319"}],"wp:attachment":[{"href":"https:\/\/kifarunix.com\/wp-json\/wp\/v2\/media?parent=2313"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/kifarunix.com\/wp-json\/wp\/v2\/categories?post=2313"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/kifarunix.com\/wp-json\/wp\/v2\/tags?post=2313"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}