EIP Server Guide

By: Dante Mack

Last Updated: 9/25/2025

Summary

The following is a fairly comprehensive guide on how to get connected to EIP’s server. It assumes that you have a username and temporary password set up. It then outlines three different ways to upload files to the server. It also highlights the capacity to write scripts directly on the server, and how to automate scripts using the machine’s cron in two different methods. The guide closes with some considerations for anyone using the server to automate tasks.

This guide is not intended to be a guide on Linux/Github/crontab/R or any other software mentioned within. Relevant documentation is linked as needed.

How to Connect to EIP’s Server

  1. Download PuTTY and PuTTYgen: https://puttygen.com/download-putty
  2. Open PuTTYgen and generate a key.

PuTTY Configuration:

You need PuTTY to use your SSH key to authenticate and connect to the server.

You should only need to configure things once, as you can easily save the configuration within PuTTY's UI.

  1. Save the private key (.ppk file) and securely send your public key to Dante via email. He will ensure that PLEASE ensure you remember the location of your private key, it will be needed to configure PuTTy.
  2. Set up PuTTY with the server IP 138.197.109.76, Port 22, and your saved private key.
  3. Connection > SSH > Auth > Credentials:
  4. Connection > Data
  5. Go back to ‘Session’
  6. Name and save the session for future use.
  7. Open the session, enter your passphrase, and verify your username with:
    getent passwd $(whoami)
  8. If the server refused your key, please alert Dante and ask him to check the permissions asociated with your ssh files.
  9. Set a user-specific system password with passwd (initial password should be received via email).

Note: You will not have sudo access unless explicitly granted.

Uploading Files to the Server

You can upload files using three main methods:

1. WinSCP

  1. Download WinSCP: https://winscp.net/eng/download.php
  2. Configure with the server IP, your username, and the private key file. This is very similar to doing such in PuTTY and is typically done automatically using information entered in PuTTY.
  3. Drag and drop files in the UI. Unless you're working with FTP files, it's best to stay within your directory /home/USERNAME/


2. FTP

Use the FTP user ftpetey and configure SSL/TLS encryption. Files are stored in /home/ftpetey/ftp/files/. You have the necessary access to work with these files. If you would prefer to send yourself files via FTP, please reach out and I can configure the server to allow such.

3. GitHub

GitHub is already installed on the server. Use git pull origin main in your directory to update files. See GitHub CLI Documentation.

Automating Scripts

Using crontab

The idea here would be to use Linux's crontab to automate scripts. If you aren't familiar with Linux or cron, resources are below.

See resources: Crontab Quick Reference, Crontab Guru.

Using cronR (R scripts only)

The cronR package simplifies scheduling R scripts. The server's RStudio is available here.

Testing R Scripts

Troubleshooting

Check your script, cron syntax, and avoid scheduling tasks too closely together to reduce resource competition. Ensure that you have ownership to any relevant directories so that you can write cron .log files.

Writing R Scripts Directly on the Server

Access RStudio here. Note that you'll need to login using your server username and password. It works like local RStudio on your machine, but best practice is usually to write and test locally before uploading. Curious about what packages exist? Run installed.packages() in R (or just use the UI in the bottom right of RStudio).

Considerations Regarding Automation

  1. Remove print calls to save memory.
  2. Routinely remove unneeded documents from the server.
  3. Keep scripts efficient and speedy.
  4. Space out cron jobs to avoid overlap.
  5. Avoid duplicating or conflicting scripts between users.Things won't work as intended if multiple users are working on/with the same file at the same time.