Video
Automic Automation Cloud Integration: OpenSSH Integration
Broadcom's OpenSSH Automation Agent lets you easily execute OpenSSH jobs, monitor, and manage them with your existing enterprise workload automation, as well as other cloud-native activities.
You instantly inherit the advanced capabilities of your enterprise solution, enabling you to deliver your digital transformation more quickly and successfully. This video explains the Automic Automation OpenSSH agent integration and its benefits. It presents its components and demonstrates how to install, configure, and use it.
Video Transcript
Automic Automation Open SSH Integration Solution
Welcome to this video on the Automic Automation Open SSH integration solution. In this video, we will explain the OpenSSH integration and what it brings to the Automic Automation user community.
OpenSSH is an open-source suite of networking utilities that provides a secure encrypted channel over an untrusted network using the Secure Shell protocol. It is a fundamental tool for system administrators and developers to manage remote computers. Instead of using insecure protocols Telnet or FTP, Open SSH encrypts all traffic including passwords and commands to prevent eavesdropping and other attacks.
It includes several key components:
- SSH: The client used to remotely log in to a server.
- SSHD: The server that handles incoming SSH connections.
- SCP: A utility for securely transferring files between hosts.
Extending enterprise automation to OpenSH ensures full visibility, centralized control, alerting, SLA management, reporting, and auditing. Integrating Automic Automation with Open SSH allows you to run and monitor Open SSH jobs from Automic Automation without having to log in to the Open SSH environment.
We will provide technical insights so the integration components are clearly identified and the deployment sequence is understood. We will focus on the configuration of the agent and the design of the two core object templates: connections and jobs. Finally, we will run through a demo.
Orchestration and Centralized Control
Automic Automation plays a central role in orchestrating operations across multiple environments, including the cloud. Automic Automation synchronizes these processes with other non-cloud operations. By integrating Open SSH, we can configure process automation centrally in Automic Automation and trigger, monitor, and supervise everything in one place.
Open SSH processes can be synchronized with all other environments routinely supported by Automic Automation. Open SSH's role is reduced to execute the jobs. All other functions, especially those about automation, are delegated to Automic Automation. This means that we do not have to log in to the OpenSSH environment and keep on refreshing it by ourselves. Automic Automation manages all the execution and monitoring aspects.
The Automic Automation integration provides a simplified view to run jobs in Open SSH. Automic Automation lets us build configurations with intuitive interfaces drag and drop workflows and supervised processes in simple dashboard tools designed natively for operations. Statuses are color-coded and retrieving logs is done with a basic right-click.
From an operations perspective, Automic Automation highly simplifies the configuration and orchestration of Open SSH jobs. Externalizing operations to a tool with a high degree of third-party integration means we can synchronize all cloud with non-cloud workload using various agents and job object types. We can build sophisticated configurations involving:
- Multiple applications.
- Database packages.
- System processes, including backups and data consolidation.
- File transfers, web services, and other on-premise workloads.
Architecture and Deployment
A conventional architecture involves two systems: the Automic Automation host and a dedicated system for the agent. The agent is configured with a simple INI file containing standard values: system agent name, connection, and TLS. When we start the agent, it connects to the engine and adds two new objects to the repository:
- A connection object to store the Open SSH endpoint and login data for Windows or Linux.
- A job template design to trigger Open SSH jobs.
Let's assume we are automating for four instances of Open SSH. We create a connection object in Automic Automation for each instance by duplicating the 'con' template for each of these instances. Lastly, we create an Open SSH job in Automic Automation for each corresponding process in Open SSH.
The Automic Automation jobs include the connection object based on the target system. When we execute the jobs in Automic Automation, they trigger the corresponding process in Open SSH. We are able to retrieve the successive statuses, supervise the child processes in the cloud, and finally generate a job report. In Automic Automation, these jobs can be incorporated in workflows and integrated with other non-cloud processes.
The procedure to deploy the open SSH integration is as follows:
- We download the integration package from the marketplace. This package contains all the necessary elements.
- We unzip this package which produces a directory containing the agent, the INI configuration files, and several other items, including the start command.
- We use the appropriate INI file for our specific platform.
Open SSH is a standard Automic agent. It requires at least four values to be updated:
- Agent name.
- Automic system.
- JCP connection and TLS port.
- TLS certificate.
When the agent is configured, we start it. New object templates are deployed. We create a connection to every Open SSH instance we need to support. For this, we use the template 'con' object which we duplicate as many times as we need. The 'con' object references the open SSH endpoint.
Finally, we use the Open SSH template job to create the jobs we need. We match these Automic Automation jobs to the Open SSH jobs, reference the connection object, and run them. We are able to supervise the jobs and their children, generate logs, and retrieve the statuses. The jobs can be incorporated into non-cloud workflows.
Agent Installation and Configuration
We install, configure, and start an agent to deploy the open SSH integration. The agent is included in the Open SSH package which we download from marketplace. We unzip the package which creates a file system agents/open ssh/bin that contains the agent files based on the platform.
We rename the agent configuration file UCXJCX and set a minimum of four values:
- The agent name.
- The AE system name.
- The host name and port connection to the JCP.
- The directory containing the TLS certificate.
Finally, we start the agent by invoking the JAR file via the Java command. The agent connects to the AE and deploys the object templates needed to support the integration: the 'con' or connection object and the open SSH jobs.
Demo: Job Creation and Execution
In our demo, we will create a connection object. Once we have established the connection to the open SSH environment, we will create a run command job first. We create a get file job and lastly we create a put file job. Finally, we will execute and supervise the jobs.
Connection Object Configuration
We move on to the Automic system. Here we create connection and job objects with specific inputs that allow us to connect to the open SSH system. Open SSH provides a connection object for Windows and for Linux. A Windows connection object is opened.
- SSH Host: This is the base URL of the Open SSH server.
- SSH Port: This is the port for the Open SSH connection. The default value here is 22.
- Username: Defines the user that should be used.
- Password: Required when you do not enable the "use SSH key file" field.
- SSH Key File: If you activate the checkbox, you must provide the SSH key file. This is the file that contains either the public or private component of an SSH key pair used for authentication with Open SSH.
- SSH Key Passphrase: An optional layer of security used to protect your private SSH key.
Open SSH Run Command Job
Once the connection object is defined, we can now create an open SSH run command job. This job allows us to run specified commands on a target host using SSH connection parameters. The first field we define is the connection.
- Connection: The drop-down list lets us select the appropriate connection object.
- Connection Timeout: Defines the time in seconds the job is allowed to complete the commands or script file execution.
- Strict Host Key Check: Optionally, checking this box activates the host key check, a security measure where the SSH client rigorously verifies the identity of the remote server it is connecting to. This ensures you are connecting to the correct server and not an impostor.
- JSCH Config Field: JSCH is a library used by the Open SSH agent. This field allows you to configure the JSCH library, for example, to enable logging for debugging purposes. We use enable SSH log = true.
- Command Input Type: Used to execute commands on a specified target host. You can select either:
- Plain text: Type commands directly.
- File path: Provide a full path to a script file. We select plain text.
- Pseudo Options: You can choose either 'none' or 'pseudo'. Pseudo allows you to elevate your current user account to have root privileges temporarily to run commands. You need to provide the pseudo username and password in that case, which allows you to run commands with administrator rights if needed. We use none in our demo.
- Allocate TTY checkbox: An optional field you can activate to indicate that TTY allocation should be done.
- Max Output Size: Defines the maximum size of the standard output and the error output parameters in kilobytes. We select 64 here.
- Timeout field: Defines the time that is allowed for the commands or the script file to execute.
Job Execution and Reports (Run Command Job)
Once all the parameters are set, the job is saved and executed. After switching to the executions view, the reports are reviewed. The report contains all the information that the target system sends to Automic Automation when the job has been executed.
Following the host name, the system lists all directories located in the specified path, such as C:\users\administrator. These are the directories that are accessible followed by the end command output. The information is presented in a way that is easy to break down and analyze for further use within Automic Automation. The next log type is the P log type agent log which shows all the agent's actions step by step. It lists all the parameters used to run the job and contains the response received from the target system.
Open SSH Get File Job
The next job that is available with the open SSH agent is the get file job, which allows us to transfer a file from a remote machine to the host machine. Similarly to the previous job, it requires the connection details, a connection timeout, optionally the strict host key check as a security measure, and the JSCH config field.
Specific fields for the get file jobs include:
- Source File Path: Defines the path of the file you want to transfer from the remote machine. For example, we use here c:\fttp files\local.
- Destination File Path: Defines where we want to place the file on the local system where the agent is running. For example, we are using /root/fttp files/new here.
- Overwrite if Exists: You can decide whether to replace a file with the same name if it already exists in the target folder by checking either the true or false box. If you select false, the command will fail if a file already exists in the destination directory. The default setting here is true.
Job Execution and Reports (Get File Job)
Reviewing the report section, the agent log lists all the connection and job parameters that were used to run the job and contains the response received from the target system. It also displays all the JSH configurations.
The log shows the initialization of the open SSH connection and the execution of the get command file. It provides detailed logs of the background processes including connection establishment, remote version string, ciphers and client server communication. The log also indicates when the file transfer is completed. In our case, it has ended successfully. The report of our get file job shows the transfer of the files from the source and destination of the transferred file. Finally, it confirms that the file transfer has completed successfully.
Open SSH Put File Job
The last job presented for the Open SSH agent integration is the put file job, which is similar to the get file job, the other way round. It allows us to transfer a file from the host machine to a remote machine. The fields are all the same, with the exception that:
- The Source File Path field specifies the path of the file where the agent is running.
- The Destination File Path field defines the destination path on the target system where the file should be placed.
The agent log provides a detailed record of everything that happened during the job execution, which can be useful for troubleshooting.
That wraps up the demo on how Automic Automation can integrate with Open SSH to execute and monitor run command, get file, and put file jobs. Thank you for watching this video.
|
Note: This transcript was generated with the assistance of an artificial intelligence language model. While we strive for accuracy and quality, please note that the transcription may not be entirely error-free. We recommend independently verifying the content and consulting with a product expert for specific advice or information. We do not assume any responsibility or liability for the use or interpretation of this content. |
