Introduction to the remoting functionality

XL Deploy and XL Release both have remoting functionality that enables them to manipulate files and execute commands on remote hosts. This functionality is provided by the Remoting plugin, which uses the open-source Java framework. For more information, see Overthere.

Features

The remoting plugin in XL Deploy and XL Release has these features:

  • Supports SSH for connectivity to Unix, Microsoft Windows, and z/OS hosts.
  • Supports CIFS, Telnet, and WinRM for connectivity to Windows hosts.
  • Enables SSH jumpstations and HTTP proxies to be used to access hosts to which a direct network connection is not possible. CIFS, Telnet, and WinRM can also be tunneled through an SSH jumpstation.
  • Implements all connection methods internally, so no external dependencies are required. Note: An exception is the WINRM_NATIVE connection type, which uses the Windows winrs command, use a winrs proxy for this connection type when XL Deploy or XL Release runs on a Unix host.

Host types

The remoting feature supports the following protocols for accessing target hosts:

Host type Description
localhost Connects to the local host that runs XL Deploy or XL Release.
SSH Connects to a Unix, Microsoft Windows, or z/OS host using the SSH protocol. For Windows, OpenSSH on Cygwin (such as Copssh) and WinSSHD are supported.
CIFS Connects to a Windows host using the CIFS protocol for file manipulation and WinRM or Telnet for process execution. This protocol is not supported for Unix or z/OS hosts.
SMB Connects to a Windows host using the SMB protocol file manipulation and WinRM or Telnet for process execution. This protocol is not supported for Unix or z/OS hosts. It is not available in XL Release.

For detailed information on host CI types, see Remoting plugin reference for XL Deploy.

Connection types

For SSH hosts, CIFS hosts, and SMB hosts, you can select a connection type that determines how XL Deploy or XL Release connects to the host.

SSH connection types

The following connection types are available for SSH hosts:

Connection type Description
SFTP Uses SFTP to transfer files to a Unix host or a z/OS host. Requires the SFTP subsystem to be enabled, which is the default for most SSH servers. This is the only connection type available for z/OS hosts.
SFTP_CYGWIN Uses SFTP to transfer files to a Windows host running OpenSSH on Cygwin. This connection type can only be used for Windows hosts.
SFTP_WINSSHD Uses SFTP to transfer files to a Windows host running WinSSHD. This connection type can only be used for Windows hosts.
SCP Uses SCP to transfer files to a Unix host. The is the fastest connection type available for Unix hosts.
SUDO It is similar to the SCP connection type. This uses the sudo command to execute commands and to copy files from and to their actual locations. Requires all executed commands to be configured with NOPASSWD in the /etc/sudoers configuration file. If this connection type is selected, set the sudoUsername property to specify the user that has the necessary permissions.
INTERACTIVE_SUDO It is similar to the SUDO connection type. This does not require the NOPASSWD option to be configured for all commands. It enables detection of the password prompt that is shown by the sudo command. This occurs when the login user (username) tries to execute a command as the privileged user (sudoUsername) and that command has not been configured with NOPASSWD. This connection type causes the password of username to be sent in reply.

Note: Because the password of the login user (username) is needed to answer this prompt, this connection type is incompatible with the privateKeyFile property that can be used to authenticate with a private key file.

For detailed information about connection types, see Remoting plugin reference for XL Deploy.

CIFS connection types

The following connection types are available for CIFS and SMB hosts:

Connection type Description
WINRM_INTERNAL Uses WinRM over HTTP(S) to execute remote commands. A Java implementation of WinRM that is internal to XL Deploy and XL Release is used. The port property specifies the Telnet port to connect with. The default value is 5985 for HTTP and 5986 for HTTPS.
WINRM_NATIVE Like WINRM_INTERNAL, but uses the native Windows implementation of WinRM (the winrs command). If the XL Deploy or XL Release server is not running on a Windows host, a winrs proxy must be configured.
TELNET Uses Telnet to execute remote commands. The port property specifies the Telnet port to connect with. The default value is 23.

Exposing additional Overthere properties

Most of the Overthere connection properties defined in the Overthere documentation are available as regular properties or as hidden properties on the overthere.SshHost, overthere.CifsHost, and overthere.SmbHost configuration item (CI) types. If you need access to additional properties, you can create a type modification in the SERVER_HOME/ext/synthetic.xml as follows:

<type-modification type="overthere.SshHost">
    <property name="listFilesCommand" hidden="true" default="/bin/ls -a1 {0}" />
    <property name="getFileInfoCommand" hidden="true" default="/bin/ls -ld {0}" />
</type-modification>