Configuring an SSH server

Pick ‘SSH’ as the server type and give it an easily recognizable name.

Enter your server’s hostname, and optionally the SSH port if you wish to use a different port (the default ‘22’ is standard for the SSH protocol).

Enter your username, and you’ll then be presented with two choices in terms of authentication: an SSH key or a simple password.

Configuring an SSH server for deployment

If you opt for the former option, we’ll generate a public key for you as well as a one-liner that you may run on your server to add this key to the “authorized_keys” file.

It’s not uncommon for a shared hosting provider to offer semi-restricted SSH access, for which you’ll need to add the SSH key through the web interface offered by your hosting provider. In this case, copy the public key using the “copy the public key” link and add it through said web interface. Often, you’ll also have to whitelist our IP address or explicitly link it to the key address you’re adding. You’ll find the appropriate IP address in the “Server configuration” modal (note that this IP address might be different across projects or users).

The installation path is where your project will be stored on your remote server, all releases will be stored in <Installation path>/releases, the current release will be available at the symlink <Installation path>/current, and the shared files will be stored in <Installation path>/shared. More information about how to use shared files you’ll find in our build automation docs under the section ‘Shared’.

If you want to automatically link the webroot on your server to the latest release, fill the ‘webroot path on server’ in as well. On DirectAdmin-based systems, for example, this path will look something like /home/<username>/domains/<domain>/public_html. Or if you created a separate user with only access to the domain you are deploying to, you should then set your webroot to /public_html.

The ‘Webroot path on repository’ is optional. This is the path within the repository to which the webroot should be linked. Common values are web (Bedrock) or public (Laravel).

SSH server paths

To figure out whether the server connection data is correct, run the server connection test and we’ll try to connect to your server and check the provided path(s).

We’ve also written an article outlining how to easily deploy code using SSH and Git.