diff --git a/.markdownlint.json b/.markdownlint.json deleted file mode 100644 index 9534ad7f..00000000 --- a/.markdownlint.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "MD013": false, - "MD024": { - "siblings_only": true - } -} \ No newline at end of file diff --git a/README.html b/README.html deleted file mode 100644 index 59f9c0e9..00000000 --- a/README.html +++ /dev/null @@ -1,1609 +0,0 @@ - - - - - Hartman Lab Server Manual <!-- omit in toc --> - - - - - - - - - - - - -

Hartman Lab Server Manual

-

© 2021-2022 Bryan C. Roessler

-

Last updated: 2022-01-02

-

Table of Contents

- -

Important information

-

If UAB restricts direct ssh access to the Hartman Lab Server, users will need to first connect to the UAB VPN using the UAB AnyConnect VPN. Once the VPN connection is established, follow the rest of the manual to connect to the server.

-

For users that do not have UAB VPN credentials, a whitelist exception for the user's IP address will need to be added to the UAB firewall. Requests to UAB IT can be made here using your UAB credentials, and should resemble the following:

-
Type: Permit -Application Name: ssh -Firewall: UAB Internet Border -Source IP Addresses: User address(es) -Destination IP address: 138.26.17.151 -TCP Port: 22 -UDP Port: N/A -Other Protocols: N/A -Reason: Outside collaboration/(Other reason) -
- -

For users

-

First time login

-
    -
  1. Ensure admin has enabled your user account.
  2. -
  3. Login via ssh client (ssh or PuTTY): ssh username@hartmanlab.genetics.uab.edu
  4. -
  5. Default password is identical to the username
  6. -
  7. System will prompt you to create a new password
  8. -
  9. System will log user out after successful password generation
  10. -
  11. Re-login: ssh blazerid@hartmanlab.genetics.uab.edu using the new password
  12. -
  13. Optional: Change Samba password (default password is your username): smbpasswd
  14. -
-

File server

-

SSH/SFTP

-

Files can be transferred to/from the server using sftp.

-

Users can access the server directly through a terminal (text-based) ssh client (ssh in OSX/Linux, or PuTTY in Windows) or via a GUI SFTP program such as Filezilla or WinSCP. Linux users can access and mount the SFTP share directly within most file managers or by using sshfs.

- -

Samba file shares

-

Samba file shares can be mounted cross-platform as if the data existed locally. The server provides two shares:

-
    -
  1. The shared data array (/mnt/data): \\username\data
  2. -
  3. The user's home directory ($HOME): \\username\username
  4. -
-

The default Samba credentials are the same as your server username and password. Users can change their Samba password using smbpasswd.

- -

X2Go remote desktop

-

X2Go provides a remote virtual desktop over vnc secured with ssh. X2Go clients are provided for Windows, OSX, and Linux systems on the X2Go website or from your package manager (x2goclient).

-

X2Go sessions can be paused or closed from the X2Go client window. Multiple sessions can be saved in the client, making it easy to select alternate quality settings based on location/bandwidth or to provide multiple user login sessions on the same machine.

-

Note: Some programs do not continue to run at full speed when an X2Go session is paused. In these cases, the program should be run via remote SSH (ideally in a tmux or screen session).

-

Session tab

- -

Connection tab

- -

Input/output tab

- -

Media tab

-

Disable sound support. This will prevent pulseaudio from spamming the server logs.

-

Shared folders

- -

Native X forwarding

-

It is possible to launch graphical server programs directly on a client.

-

Linux, OSX

- -

Windows

- -

Windows 10 Virtual Machines

- -

The virtualized Windows 10 instances require logging in with your UAB email address and password.

- -

Once you are finished using the Windows virtual machine, remember to log out of your UAB Windows account so that other users do not have access to your session. Windows will perform an automatic logoff after 30 minutes of inactivity for security.

-

Robot computer access

- -

Webcam robot monitoring

-

The robot webcam is viewable in a web page within an X2Go session at: localhost:8888

-

RStudio Server

-

Newer versions of RStudio Desktop do not officially support remote desktop access. If the remote GUI is unreliable an RStudio Server IDE can be accessed via web browser at http://localhost:8787 in an X2Go session or locally via an SSH tunnel, ex. ssh -f username@hartmanlab.genetics.uab.edu -L 8787:localhost:8787 -N

-

Recommendations

-

Backing up data

-

The rsync, rsnapshot, and syncthing tools are installed on the server to facilitate user backups.

-

rsync is recommended for users that would just like to periodically backup their $HOME directory to a local machine over ssh: -rsync -azH --delete username@hartmanlab.genetics.uab.edu:~/* ~/backup/

-

A GUI alternative, syncthing (Applications>Internet>Syncthing) syncs folders and files between machines automatically and is accessible at http://localhost:8384

-

Passwordless (public-private key) authentication

-

Public-private key authentication is more secure than passwords and can be configured for passwordless login.

- -

Most popular SFTP programs support using public-private keys for passwordless authentication. Windows/OSX users may need to add their key pair to PuTTy/Filezilla/WinSCP manually.

-

Once configured, the user will no longer need to enter their password to access the SFTP or X2Go server, which simplifies login and enhances security.

-

For administrators

- -

Adding a user

- -

Resetting a user password

- -

Removing a user

- -

Reset a buggy or corrupt X2Go user session

- -

Unban a user

- -

Fix or repair user file permissions

- -

Services

- -

Virtual Machines

- -

Allow access to the samba share within the Windows VM (Windows bug workaround)

-
    -
  1. Open C:\Windows\system32\drivers\etc\hosts file and copy contents.
  2. -
  3. Open new text document, paste contents of existing hosts file and add appropriate blazerid and server IP line (see existing entries).
  4. -
  5. Save as “hosts” (no extension).
  6. -
  7. Copy new hosts file to C:\Windows\system32\drivers\etc\ (allow it to overwrite existing hosts file).
  8. -
  9. The new user will be able to map/access their samba shares at \\blazerid\data and \\blazerid\blazerid.
  10. -
-

Make an existing Windows 10 account user an administrator

-
    -
  1. Login to the PC as the Azure AD user you want to make a local admin.
  2. -
  3. Log out as that user and login as a local admin.
  4. -
  5. In elevated Powershell, add the user to the administrators group: net localgroup administrators AzureAD\\blazerid@uab.edu /add
  6. -
-

Creating more VM disk space

- -

Updating system software

- -

Updating R, RStudio Desktop, and RStudio Server

- -

Scheduling a restart

- -

Adding a drive

- -

Logging

- -

Resources

- -

Contact

- - - - \ No newline at end of file diff --git a/manual-images/anyconnect.png b/manual-images/anyconnect.png deleted file mode 100644 index 3315ed74..00000000 Binary files a/manual-images/anyconnect.png and /dev/null differ diff --git a/manual-images/filezilla.png b/manual-images/filezilla.png deleted file mode 100644 index 0eb68578..00000000 Binary files a/manual-images/filezilla.png and /dev/null differ diff --git a/manual-images/samba-windows1.png b/manual-images/samba-windows1.png deleted file mode 100644 index 760a4fea..00000000 Binary files a/manual-images/samba-windows1.png and /dev/null differ diff --git a/manual-images/samba-windows2.png b/manual-images/samba-windows2.png deleted file mode 100644 index 9b90a8e5..00000000 Binary files a/manual-images/samba-windows2.png and /dev/null differ diff --git a/manual-images/sftp-native-linux.png b/manual-images/sftp-native-linux.png deleted file mode 100644 index 2e007a0c..00000000 Binary files a/manual-images/sftp-native-linux.png and /dev/null differ diff --git a/manual-images/virt-viewer.png b/manual-images/virt-viewer.png deleted file mode 100644 index 385bdbfd..00000000 Binary files a/manual-images/virt-viewer.png and /dev/null differ diff --git a/manual-images/x2go-session.png b/manual-images/x2go-session.png deleted file mode 100644 index 20de38f1..00000000 Binary files a/manual-images/x2go-session.png and /dev/null differ diff --git a/manual-images/x2go-sharedfolders.png b/manual-images/x2go-sharedfolders.png deleted file mode 100644 index 998e8f80..00000000 Binary files a/manual-images/x2go-sharedfolders.png and /dev/null differ diff --git a/script-drives-add b/script-drives-add deleted file mode 100644 index af436330..00000000 --- a/script-drives-add +++ /dev/null @@ -1,60 +0,0 @@ -#!/usr/bin/env bash -# Add a drive to the system -# TODO generalize -# Copyright 2021 Bryan C. Roessler - -parent="${BASH_SOURCE[0]}" -parent=${parent%/*} - -[[ -f $parent/script-functions ]] && . "$parent"/script-functions || exit 1 - -is_root - -unset drive mountpoint - -[[ $# -eq 0 ]] && lsblk -f && echo "Must provide a drive identifier" && exit 1 - -[[ $# -ge 1 ]] && drive="$1" - -[[ $# -eq 2 ]] && mountpoint="$2" - -[[ $# -gt 2 ]] && echo "Too many arguments passed" && exit 1 - -! info=$(lsblk -n -o NAME,FSTYPE,LABEL,UUID,MOUNTPOINT "$drive" | tr -s ' ') && echo "Drive $drive does not exist" && exit 1 - -#name=$(cut -d' ' -f1 <<< "$info") -#fstype=$(cut -d' ' -f2 <<< "$info") -label=$(cut -d' ' -f3 <<< "$info") -#uuid=$(cut -d' ' -f4 <<< "$info") -mountedpoint=$(cut -d' ' -f5 <<< "$info") - - -if [[ -d "$mountedpoint" ]]; then - echo "Drive $drive is already mounted at $mountedpoint" - ask_ok "OK to unmount?" || exit $? - umount "$mountedpoint" || exit $? -fi - -if [[ ! -v mountpoint ]]; then - label=$(cut -d' ' -f3 <<< "$info") - if [[ "$label" == "" ]]; then - echo "No mount point provided and could not autodetect FS label" - read -r -p "Please enter a mountpoint: " mountpoint - else - mountpoint="/mnt/$label" - fi -fi - -if [[ -d "$mountpoint" ]] && [[ "$(ls -A /path/to/dir)" ]]; then - echo "Warning: $mountpoint is not empty!" - echo "Here are the contents:" - ls -al "$mountpoint" - read -r -p "Please enter an empty mountpoint: " mountpoint -fi - -[[ ! -d "$mountpoint" ]] && mkdir -p "$mountpoint" - - - - -