Documentation

10.13. Command-Line Administration-Shell

10.13.1. Introduction

A command-line shell is provided to access the SFTPPlus management interface. It can be used as a one line command call, or as an interactive shell.

In this page we will refer to it as admin-shell.

The following configuration and administrative tasks can be performed using the admin-shell:

  • show the list of failed components and status details

  • show the status of services/transfers/event handlers/locations/ etc

  • start/stop/restart a service / transfer / location

  • add or delete services / transfers / locations / event-handlers / etc

  • add or delete accounts (only of type application)

  • add or delete groups

  • show configuration for a component

  • show the current configuration value for an option for a component

  • set the configuration option for a component

It is recommended to start the shell from the SFTPPlus installation folder.

On Unix-like systems, the admin-shell is available as:

$ cd /opt/SFTPPlus
$ ./bin/admin-shell.sh

On Windows systems, the admin-shell is available as:

CMD> cd "C:\Program Files\SFTPPlus"
CMD> admin-shell.bat

All Unix-like and Windows versions provide the same command-line arguments and shell commands. We use the generic admin-shell name for both types of executable files.

All commands to be executed in the administration's shell are prefixed with:

>

The admin-shell script is provided as a tool to help with troubleshooting or administrative tasks, without requiring an external tool.

In the case that you are using or planning to use admin-shell in production, your feedback and comments are welcome. They help us improve it and extend the scope of its usage.

10.13.2. Connecting to the management interface

The default admin-shell command will try to connect to the SFTPPlus administration interface running at https://localhost:10020 using the default configuration/self_signed_certificate.pem certificate.

You can specify a different address for the SFTPPlus Web Manager interface by setting it as a command line argument.

On Unix-like systems, the command would be:

$ ./bin/admin-shell.sh -a https://sftp-mgmt.example.com:2020

On Windows systems, the command would be:

CMD> bin\admin-shell.bat -a https://sftp-mgmt.example.com:2020

If the SFTPPlus Web Manager interface is not using the default self-signed certificate, you can start admin-shell using a different certificate. This can be the server's certificate itself or a Certificate Authority's certificate.

$ ./bin/admin-shell.sh -c /path/to/your/CA-or-server-cert.pem

10.13.3. Shell operation

When the admin-shell script is started, it will attempt to connect and authenticate to the SFTPPlus management interface.

If no administrator name or password was provided as command line arguments, admin-shell will ask for these details.

Upon a successful connection, you will see a prompt such as:

Administrator name: admin
Password: PASSWORD-NOT-ECHOED
Connecting to https://localhost:10020 as admin.
Connected.
SFTPPlus (3.47.0) command line administration shell
>

After that, you can start entering admin-shell commands. To show all available commands:

> help

To find more details about a command:

> help COMMAND_NAME

For example, to show more details about the command show:

> help show

10.13.4. Changing the configuration options

When setting the configuration option, you will need to provide the UUID for the component that needs to be changed and the value provided in JSON format.

Below is an example to set the value as text, number, boolean and list:

> configure group DEFAULT_GROUP name "text in quotes"
> configure group DEFAULT_GROUP password_lifetime 42
> configure group DEFAULT_GROUP enabled true
> configure group DEFAULT_GROUP home_folder_structure ["/inbox", "/outbox"]

10.13.5. Scripting integration and password security

The admin-shell can be integrated in scripts by having all the options and command passed via the command line arguments.

It can read the password from the following sources:

  • interactive without echo (safe): admin-shell (without any password argument)

  • direct command line argument: admin-shell -p YOUR-PASSWORD

  • file at a path defined via command line argument: admin-shell -p /path/to/your/password/file

  • piped from another command: echo YOUR-PASSWORD | admin-shell -p -

You should replace echo "YOUR-PASS" with your password manager. We used echo just as an example.

On Unix-like systems, the command would look like this.

$ echo "YOUR PASS" | ./bin/admin-shell.sh -u admin -p - show failures