blob: 68631aba153355e5683f9e17fb285bb7e63c5489 [file] [log] [blame] [view]
Ad-hoc Connections
==================
The quickconnect extension provides a connection bar on the Guacamole Client
home page that allows users to type in the URI of a server to which they want
to connect and the client will parse the URI and immediately establish the
connection. The purpose of the extension is to allow situations where
administrators want to allow users the flexibility of establishing their own
connections without having to grant them access to edit connections or even to
have to create the connections at all, aside from typing the URI.
:::{important}
There are several implications of using this extension that should be
well-understood by administrators prior to implementing it:
* Connections established with this extension are created in-memory and only
persist until the Guacamole session ends.
* Connections created with this extension are not accessible to other users,
and cannot be shared with other users.
* This extension provides no functionality for authenticating users - it does
not allow anonymous logins, and requires that users are successfully
authenticated by another authentication module before it can be used.
* The extension provides users the ability not only to establish connections,
but also to set any of the parameters for a connection. There are security
implications for this - for example, RDP file sharing can be used to pass
through any directory available on the server running guacd to the remote
desktop. This should be taken into consideration when enabling this extension
and making sure that guacd is configured in a way that does not compromise
sensitive system files by allowing access to them.
:::
(quickconnect-downloading)=
Downloading the quickconnect extension
--------------------------------------
The quickconnect extension is available separately from the main
`guacamole.war`. The link for this and all other officially-supported and
compatible extensions for a particular version of Guacamole are provided in the
release notes for that version. You can find the release notes for current
versions of Guacamole here: <http://guacamole.apache.org/releases/>.
The quickconnect extension is packaged as a `.tar.gz` file containing only the
extension itself, `guacamole-auth-quickconnect-1.3.0.jar`, which must
ultimately be placed in `GUACAMOLE_HOME/extensions`.
(installing-quickconnect)=
Installing the quickconnect extension
-------------------------------------
Guacamole extensions are self-contained `.jar` files which are located within
the `GUACAMOLE_HOME/extensions` directory. *If you are unsure where
`GUACAMOLE_HOME` is located on your system, please consult
[](configuring-guacamole) before proceeding.*
To install the extension, you must:
1. Create the `GUACAMOLE_HOME/extensions` directory, if it does not already
exist.
2. Place the `guacamole-auth-quickconnect-1.3.0.jar` file in the
`GUACAMOLE_HOME/extensions` directory.
(guac-quickconnect-config)=
### Configuring Guacamole for the quickconnect extension
The quickconnect extension has two configuration properties that allow for
controlling what connection parameters can be used in the URIs that are opened
with the quickconnect extension:
`quickconnect-allowed-parameters`
: An optional list of parameters that are allowed to be used by connections
that are created and accessed via the quickconnect extension. If this
property is present, only parameters in this list will be allowed. If this
property is absent, any/all parameters will be allowed unless explicitly
denied using the `quickconnect-denied-parameters` property.
`quickconnect-denied-parameters`
: An optional list of parameters that are explicitly denied from being used by
connections created and accessed via the quickconnect extension. If this
property is present, any parameters in this list will be removed from the
connection configuration when it is created, *even if those parameter are
listed above in the `quickconnect-allowed-parameters` property.* If this
property is not present, no connection parameters will be explicitly denied.
(completing-quickconnect-install)=
### Completing the installation
Guacamole will only load newly-installed extensions during startup, so your
servlet container will need to be restarted before the quickconnect extension
can be used. *Doing this will disconnect all active users, so be sure that it
is safe to do so prior to attempting installation.* When ready, restart your
servlet container and give the extension a try.
(using-quickconnect)=
Using the quickconnect extension
--------------------------------
The quickconnect extension provides a field on the home page that allows you to
enter a Uniform Resource Identifier (URI) to create a connection. A URI is in
the form:
{samp}`{protocol}://{username}:{password}@{host}:{port}/?{parameters}`
The `protocol` field can have any of the protocols supported by Guacamole, as
documented in [](configuring-guacamole). Many of the protocols define a default
`port` value, with the exception of VNC. The `parameters` field can specify any
of the protocol-specific parameters as documented on the configuration page.
To establish a connection, simply type in a valid URI and either press "Enter"
or click the connect button. This extension will parse the URI and create a new
connection, and immediately start that connection in the current browser.
Here are a few examples of URIs:
`ssh://linux1.example.com/`
: Connect to the server linux1.example.com using the SSH protocol on the
default SSH port (22). This will result in prompting for both username and
password.
`vnc://linux1.example.com:5900/`
: Connect to the server linux1.example.com using the VNC protocol and
specifying the port as 5900.
`rdp://localuser@windows1.example.com/?security=rdp&ignore-cert=true&disable-audio=true&enable-drive=true&drive-path=/mnt/usb`
: Connect to the server windows1.example.com using the RDP protocol and the
user "localuser". This URI also specifies several RDP-specific parameters on
the connection, including forcing security mode to RDP (security=rdp), ignoring
any certificate errors (ignore-cert=true), disabling audio pass-through
(disable-audio=true), and enabling filesystem redirection (enable-drive=true)
to the /mnt/usb folder on the system running guacd (drive-path=/mnt/usb).