Technical Notes |
|
Reflection for the Web includes support for Secure Shell transport for VT and HP emulators, and starting in version 9.0, Reflection includes support for FTP sessions. This technical note lists the steps to configure a session to use Secure Shell transport. Information about managing Secure Shell keys in Reflection for the Web is also provided.
If Secure Shell is required, the client must be validated before an ssh connection can be established. The user is asked to enter a password or provide a key. To configure a session to use Secure Shell transport, follow these steps:
If you are creating a new session, click Session Manager, and then click Add. Select the type of session you want to create (HP, VT, or FTP), enter the name of the session, and then click Continue.
For HP or VT sessions:
For FTP sessions:
Note: Port 22 is generally used for Secure Shell. No Transport selection is required.
Note: Unless there is a change in your security configuration, there is no need to configure Cipher setup.
If you select Yes or Ask, the host's public key is downloaded to the client the first time the host is accessed through Reflection.
If you select No, the hosts must be configured in your Known Hosts list in order to connect to a host. If a known_hosts file is not found on the client, it is automatically downloaded from the Reflection management server if a known_hosts file has been configured on the server.
As the Reflection administrator, you can import host public keys to the Reflection known hosts list on the Secure Shell tab in the Administrative WebStation Security Setup.
If you are installing a pre-configured known_hosts file to each client machine, consult Technical Note 1845 for the appropriate location. If you configure a global known_hosts file through the Administrative Webstation it will be automatically downloaded to each client.
For more information, click Help from the Administrative WebStation, Security Setup (or Settings in version 7.x) , Secure Shell tab.
If you created a new session, the Session Saved page opens. Click "Map session access" and map the session for your users, as appropriate for the access control model you use.
Reflection for the Web supports Secure Shell user authentication using password, user keys, keyboard interactive (in version 9.5), or a combination of these methods.
User keys can be deployed globally for all clients (less secure) or per user on each individual client (more secure).
If you selected Password authentication (step 5 above), the session prompts the user for a password to log on to the host. The password is validated by the SSH server and the session continues.
Note: The password sent across the network is encrypted, so this is more secure than Telnet or rlogin.
If you select User Key, each client that connects to the session must have a public/private key pair, and a copy of the client's public key must be in the user's .ssh directory on the host computer. There are two ways to provide users with keys:
This key pair is downloaded whenever an authorized user requests the session. The key pair is not cached on the client computer.
The public key must be exported in a valid OpenSSH format using the Export User Key to OpenSSH format tool. The resulting public key (*.pub) must be appended to the authorized_keys file in the user’s .ssh directory on the host.
Note that a global key pair grants a user access to any account on the host where the public key has been appended. For more information, click Help on the Secure Shell tab.
The public key must be appended to the authorized_keys file in the user’s .ssh directory on the host, and the key pair must be stored in the client’s.ssh folder.
Note: If not generated locally on the client machine, the public/private key pair needs to be securely transported to the client's Java store. (Sending them by email is not recommended.)
If you are configuring ssh to use a per user key pair, you need to manually create the .ssh folder (to store the key pair). In Windows, you must use a command prompt because Windows Explorer does not support creating folder names that begin with a dot (.ssh, for example).
Before you create the .ssh folder, check this section to identify the appropriate location for the .ssh folder, which varies with the version of Reflection for the Web, the operating system on the client machine, the client browser, and the client java virtual machine.
In Reflection for the Web 9.01 and higher (Windows only), create the .ssh folder in the \reflectionweb folder, which is in the CSIDL APPDATA directory (usually the user’s localized Application Data directory).
For example, on a Windows XP client running Internet Explorer and either the Microsoft VM or the Sun JVM 1.3 or higher, the keypair is stored in C:\documents and settings\<username>\Application Data\reflectionweb\.ssh.
In Reflection for the Web 8.0 and 9.0 (Windows only) and 9.01 and higher (non-Windows), create the .ssh folder in the \reflectionweb folder, which is within either {user.dir} or {user.home} depending on the operating system, client browser and client java virtual machine.
For example, for Reflection 8.0 or 9.0 on a Windows XP client running Internet Explorer and either the Microsoft VM or the Sun JVM 1.3 or higher, the keypair should be stored in C:\documents and settings\<username>\reflectionweb\.ssh.
In Reflection for the Web 7.x, the .ssh folder needs to exist in the {user.home} folder. Look for the \reflectionweb folder and create a .ssh folder at the same level.
For example, on a Windows XP client running the Microsoft VM and Internet Explorer, the key pair should be stored in C:\Windows\Java\.ssh. On the same machine running the Sun JVM, the key pair should be stored in C:\documents and settings\<username>\.ssh.
For more information about file locations, see Technical Note 1845.
To create the .ssh folder in Windows:
mkdir <folder_location>\.ssh or
md <folder_location>\.sshMethods for appending a key to the authorized_keys file vary depending on your environment. Two examples of methods you can use to transfer the public key from a Windows system to a UNIX host and then add it to the authorized_keys file are described below:
cat MyKey.pub >> authorized_keysBeginning in Reflection for the Web 9.5, keyboard interactive allows password authentication, SecurID authentication, or other tokens for authentication. Using Keyboard interactive does not in itself add any extra security.
The advantage of keyboard interactive authentication is that new authentication methods can be added without upgrading the client software, since the client does not need to be aware of the specifics of the authentication method.
If you select both Password and User Key check boxes, the user key is verified first. If the user key is valid, the session is allowed. If the user key is not valid, the user must enter a password to be validated.
If all three authentication options are selected (in version 9.5), the connection attempt first uses the User Key, then Keyboard Interactive, and finally the Password option until authentication is successful.