Secure Global Desktop 4.40 Administration Guide > Security > Using SSH with SGD
SSH (Secure SHell) is a package that lets you securely execute commands on network hosts. It offers a more secure alternative to the standard UNIX or Linux system commands for this purpose.
SSH provides the following benefits:
SGD can use SSH to provide secure communications between SGD servers and application servers.
SGD works with SSH version 2.x or later.
To use SSH with SGD
To use SSH, it must be installed on the SGD host and on the application server.
SGD can automatically detect that SSH is installed on the SGD host if SSH is installed in one of the following directories:
/usr/local/bin
/usr/bin
/usr/sbin
/usr/lbin
/bin
/sbin
Note If SSH is installed in a different location, you can configure the location of the SSH client.
If SSH is not already installed, download it and install it as follows:
Download the packages for your operating system or download OpenSSH. SGD works with SSH version 2.x or later.
Install SSH on every UNIX or Linux system application server you want to provide secure access to.
Install SSH on every SGD host in one of the directories listed above.
Note Because of SSH version compatibility problems, use the same major version of SSH (either version 2 or version 3) on all SGD hosts and application servers.
To support X applications that SSH, you must enable X11 forwarding. On each SGD host:
sshd_config
) and include the following line:
X11Forwarding yes
Note If the SSH daemon is already running, you must restart it after making changes to the sshd_config
file.
ssh_config
) and include the following line:
ForwardAgent yes ForwardX11 yes
-X
command-line argument.To use SSH to secure the communication between an application server and an SGD server, the application object must be configured as follows:
Alternatively, use the following command:
$ tarantella object edit --name obj --method ssh
When using SSH with SGD, you can configure the command-line arguments used by the SSH client. The arguments can be configured globally, for individual applications, or a combination of both.
Use the global SSH client configuration in the following situations:
You configure the global options for the SSH client by setting the TTASSHCLIENT
environment variable as follows:
TTASSHCLIENT
to the
full path to the SSH program and any required command-line arguments.
For example:
# TTASSHCLIENT="/usr/local/bin/ssh -q -X"; export TTASSHCLIENT
Note If you only want to set command-line arguments for the SSH client, you have to include the full path to the SSH program, even if the SSH program is in a location where SGD can detect it.
You can specify the command-line arguments to use for the SSH client for individual applications as follows:
Alternatively, use the following command:
$ tarantella object edit --name obj --ssharguments args
You can combine the global and application SSH client configuration to set the path to the SSH client and set the command-line arguments.
Note If you do this, any global command-line arguments are ignored.
The following table shows the effect of global and application configuration on the ssh
command used.
Global Configuration | Application Configuration | SSH Command Used |
---|---|---|
[none] | [none] | ssh -l user@host |
[none] | -X |
ssh -X -l user@host |
/usr/ssh -X |
[none] | /usr/ssh -X -l user@host |
/usr/ssh -X |
-p port |
/usr/ssh -p port -l user@host |
SGD supports the X Security extension.
The X Security extension only works with versions of SSH that support -Y
option.
For OpenSSH, this is version 3.8 or later.
You enable the X security extension for individual applications as follows:
Alternatively, use the following command:
$ tarantella object edit --name obj --securityextension 1
If SSH connections fail when X authorization is enabled, you might have to run the SSH daemon in ipv4-only mode because SGD might not support the xsecurity extension used on your server. You enable ipv4-only mode by editing your system SSH configuration file. For example:
/etc/sysconfig/ssh
file and add a SSHD_OPTS="-4"
line./etc/sysconfig/sshd
file and add a OPTIONS="-4"
line.Note If the SSH configuration file does not exist on your system, you can create it.
You must restart the SSH daemon after making this change.
Certain SSH functionality, such as client keys, requires that the SSH client
process runs as a specific user. In previous releases of SGD,
the server process ran as the UNIX or Linux system root user and had unlimited access to the server.
However, from version 4.0 the SGD server processes and the SSH client process
run as a non-privileged user. This is for security reasons. To restore the previous behavior,
you must make the SGD ttasshhelper
application a setuid
root process. You do this as follows:
# chmod 4510 /opt/tarantella/bin/bin/ttasshhelper # chown root /opt/tarantella/bin/bin/ttasshhelper
If you make these changes, you must take particular care to protect your SGD servers from unauthorized access.
Copyright © 1997-2007 Sun Microsystems, Inc. All rights reserved.