# How to Connect Servers Using SSH SnapShooter is a cloud backup and recovery solution. Use SnapShooter to back up servers, volumes, databases, and applications from DigitalOcean and other cloud providers. Connect servers directly to SnapShooter to set up backup jobs, which run using SnapShooter’s custom engine to back up hosted resources (like files, databases, and applications) to your chosen S3-based storage provider. ## About SnapShooter Backups SnapShooter supports two kinds of backups: native backups and backup jobs. - *Native backups* use your cloud provider’s backup product. These products are called different names depending on the provider, like [DigitalOcean Snapshots](https://docs.digitalocean.com/products/snapshots/index.html.md) or Amazon Machine Images (AMIs). SnapShooter creates and manages these backups on your behalf by using the provider’s API, which allows you to take more frequent backups with finer control over retention than the cloud providers themselves offer. - *Backup jobs* run using SnapShooter’s custom engine to back up hosted resources (like files, application servers, or database servers) to your chosen S3-based storage provider. You can use backup jobs with any server that you can add to SnapShooter. You can use SnapShooter as your storage provider with [SnapShooter Simple Storage](https://docs.digitalocean.com/products/snapshooter/details/features/index.html.md), which lets you store backup data without setting up your own storage. Alternatively, you can [set up DigitalOcean Spaces Object Storage](https://docs.digitalocean.com/products/snapshooter/how-to/use-spaces-for-storage/index.html.md) or [other storage providers](https://docs.digitalocean.com/products/snapshooter/how-to/use-other-storage-providers/index.html.md), like AWS S3. ## Add Servers Directly to SnapShooter To use SnapShooter backup jobs, you need to add servers directly to SnapShooter. From the [SnapShooter app](https://app.snapshooter.com/), in the left menu under **My resources**, click **Servers**. In the top right, click the green **Connect Server +** button. There are two ways to add the server: by using our setup script, or by entering the server details manually. ## Using our setup script Choose the SnapShooter SSH key that you want to use, or click **Generate New Key** to create a new one. [SSH into your server](https://docs.digitalocean.com/products/droplets/how-to/connect-with-ssh/index.html.md) as root, then copy and paste the provided `curl [...] | bash` command to run our setup script. The output looks like this: ``` Welcome to SnapShooter Server Setup Environment Detected: OS: linux, OS Type: amd64 Installing SSH public key Creating temp SSH key file grep: /root/.ssh/authorized_keys: No such file or directory cp: cannot stat '/root/.ssh/authorized_keys': No such file or directory Creating authorized_keys backup /root/.ssh/authorized_keys.bak-1658892360 Key Installed /root/.ssh/authorized_keys Removing temp SSH key file Scanning SSH config Checking 22 matched (22) SSH test confirmed, Server Added to SnapShooter ... ``` SnapShooter scans for the server response and adds the server to your account. ## Entering server details manually To enter server details manually, in the top right, click the **Manual Setup** button. Choose the SnapShooter SSH key that you want to use, or click **Generate New Key** to create a new one. [SSH into your server](https://docs.digitalocean.com/products/droplets/how-to/connect-with-ssh/index.html.md), then paste the provided SSH public key into `~/.ssh/authorized_keys`. Next, provide the server details: the name, host (IP address or domain name), username, and port. Click **Test Connection** to confirm the configuration and add the server to SnapShooter. Once the server is added, you can configure backup jobs for it. ## Debug Common Issues ### Firewall Restrictions We use SSH to access to your servers. If you restrict access to your server using a firewall, you need to allow SnapShooter’s IP addresses to access your server in order for SnapShooter to function. [SnapShooter SSH IP Address Allowlist](https://docs.digitalocean.com/products/snapshooter/details/ip-address-allowlist/index.html.md): These IP addresses must have SSH access to your server for SnapShooter to function. ### Root Connection If SSH remote root login is disabled on your server, you may see a “Root does not permit root connection” error when connecting your server to SnapShooter. To enable SSH remote root login, SSH into your server, then edit the `/etc/ssh/sshd_config` configuration file. Find the `PermitRootLogin no` line, change it to `PermitRootLogin yes`, then save the file. Restart the SSH service for the changes to take effect: ```command systemctl restart sshd ``` ### NAT Gateway If your server is behind a NAT gateway, you need to configure your router to forward port 22/TCP to your server’s internal IP address.