SSH

Learn what you can do on the command line with fortrabbit Apps.

Using our Git deployment is great, but sometimes need a little more control. That's where the Secure SHell comes in. SSH is the big brother of SFTP and allows you to directly interact with your App's code.

Accessing SSH

Execute the following in your terminal:

# Login to your App by SSH like so:
$ ssh {{ssh-user}}@deploy.{{region}}.frbit.com
# Unless you are using public key: You will be asked for your Account password

When it worked, you will see small a welcome screen:

–––––––––––––––––––––––  ∙ƒ  –––––––––––––––––––––––

You are now logged in to your App by SSH. See below if you got an error.

Things to do with SSH

Following a few simple examples, just to give you some ideas:

# Download & unpack wordpress
$ curl https://wordpress.org/latest.tar.gz | tar zx

# Stream your Apache access logs
$ tail -f ../logs/apache_access.log

# Search for 50x responses in apache access
$ grep -E ' 50[0-9] ' ../logs/apache_access.log

Also checkout: WordPress install from SSH, Execute Laravel's artisan.

Using CLIs

We pre-installed various CLIs for you:

Executing PHP scripts

If you want to execute PHP scripts, including artisan and it's like, make sure to specify the PHP interpreter explicity:

# will work
$ php artisan some:command
$ php some-script.php

# will _not_ work:
$ ./artisan some:command
$ ./some-script.php

Syncing code with rsync

The command line tool rsync grants a fast and reliable way to upload your code changes. As the name implies, rsync is made to synchronize (two) data sets. Following an example showcasing the synchronization of a WordPress plugin from local to fortrabbit:

# change to the folder above your plugin folder locally
$ cd local-app-folder/wp-content/plugins

# execute synchronization
$ rsync -az --delete custom-plugin/ {{ssh-user}}@deploy.{{region}}.frbit.com:~/wp-content/plugins/custom-plugin/

The above command assures that the remote folder custom-plugin contains exactly what your local folder of the same name contains. The exemplified --delete flag will remove all remove files, which do not exist locally anymore. You can safely omit it, if that you just want to update changed files, but do not remove any file.

Using Composer

Using Git deployment will trigger Composer automatically. If you need to run Composer manually, just execute the following when logged in via SSH:

$ composer install

Limitations

  • This is not a root shell, so you can't install or remove software packages
  • Mind that you are using the same runtime as your web application: resource intensive operations will drain memory and CPU from the web execution
  • Crons are managed via the Dashboard, not the shell
  • See the specs page for more limits and numbers

Troubleshooting authentication

Got an error when trying to login? fortrabbit supports username + password and public key authentication. The latter is recommend, but, especially when using Windows, sometimes password is the only feasible option. Please go on here:

Blacklisting

We are actively filtering deployment traffic for security reasons: too many falsy login attempts or parallel connections are considered dangerous and will get blacklisted.

When you have tried to connect to often, you might got blacklisted, you can:

  1. Ask us to remove your IP from the blacklisting ban.
  2. Get a new IP by disconnecting from the internet shortly.

Further readings

Need individual help?

Get support › Learn about Company plans ›

Looking for an old article?

See the full list of articles ›

Found an error?

Contribute on GitHub ›