TeamCity Cloud 2023.11 Help

SSH Upload

The SSH Upload build runner allows uploading files/directories via SSH (using SCP or SFTP protocols).

The settings common for all runners are described in Configuring Build Steps; this page details the SSH Deployer settings.

The fields below support parameter references: any text between percentage signs (%) is considered a reference to a property by TeamCity. To prevent TeamCity from treating the text in the percentage signs as reference to a property, use two percentage signs to escape them: for example, if you want to pass %Y%m%d%H%M%S into the build, change it to %%Y%%m%%d%%H%%M%%S.



Deployment Target


Target should point to an SSH server location. The syntax is similar to the one used by the *nix scp command:


where target_dir can be absolute or relative; sub_path can have any depth.

Transport protocol

Select a protocol to transfer data over SSH. The available options are: SCP and SFTP


Optional. By default, port 22 is used.

Deployment Credentials

The settings in this section will vary depending on the selected authentication method.

Authentication method

Select an authentication method.

  • Uploaded key uses the key(s) uploaded to the project. See SSH Keys Management for details.

  • Default private key will try to perform private key authentication using the ~/.ssh/config settings. If no settings file exists, will try to use the ~/.ssh/rsa_pub public key file. No passphrases should be set.

  • Custom private key will try to perform private key authentication using the given public key file with given passphrase

  • Password — simple password authentication.

  • SSH-Agent — use SSH agent for authentication, the SSH-Agent build feature must be enabled.

Deployment Source

Paths to sources

Specify the deployment sources as a newline- or comma-separated list of paths to files/directories.

The field supports Ant-style wildcard patterns (for example, dir/**/*.zip).
You can also specify a target directory to be created using the file => directory pattern (for example, *.zip => winFiles,unix/distro.tgz => linuxFiles will create the winFiles and linuxFiles directories, and respectively put the declared files inside them).

Last modified: 10 November 2021