Compare commits

...

8 Commits

Author SHA1 Message Date
446a294ea6 Fix interactive unban 2025-08-13 16:32:43 -04:00
2b62d5791b Update README 2025-07-29 21:37:02 -04:00
49aaa72a31 Update server README 2025-07-29 20:08:36 -04:00
dfa7be78f7 Update server README 2025-07-29 19:58:44 -04:00
756571f64c Update server README 2025-07-29 19:57:38 -04:00
7edd947486 Update server README 2025-07-29 19:47:48 -04:00
e64b5270f5 Update server README 2025-07-29 19:25:59 -04:00
a7be71abdf Cleanup server README 2025-07-29 19:15:19 -04:00
2 changed files with 40 additions and 27 deletions

View File

@@ -3,9 +3,9 @@
## First-time login ## First-time login
1. Ensure an admin has enabled your user account and provided you a username. 1. Ensure an admin has enabled your user account and provided you a username.
2. Login via [`ssh`](#ssh-remote-login): `ssh username@hartmanlab.genetics.uab.edu` (default password is your *username*) 2. Login via [`ssh`](#ssh-remote-login): **`ssh username@hartmanlab.genetics.uab.edu`** (default password is your *username*)
3. You will be prompted to create a new password and then logged out. 3. You will be prompted to create a new password and then logged out.
4. Login again using your new password: `ssh username@hartmanlab.genetics.uab.edu` 4. Login again using your new password: **`ssh username@hartmanlab.genetics.uab.edu`**
5. Change the default `samba` password (default password is also your *username*): `smbpasswd` 5. Change the default `samba` password (default password is also your *username*): `smbpasswd`
6. *Optional*: Generate a public-private keypair on your client and copy it to the server for faster and more secure logins. 6. *Optional*: Generate a public-private keypair on your client and copy it to the server for faster and more secure logins.
@@ -16,16 +16,17 @@
## Notes ## Notes
* Read the `motd` helper at `ssh` login for ongoing server status * Read the `ssh` login message for ongoing server status updates.
* To change your user password: `passwd` * See [Troubleshooting](#troubleshooting) and [Resources](#github-resources) for help.
* To change your samba password: `smbpasswd` * Change your user password: `passwd`
* Change your samba password: `smbpasswd`
## `ssh` remote login ## `ssh` remote login
Connect to the server remotely using the command line. Connect to the server remotely using the command line.
* Linux/OSX * Linux/OSX
* `ssh username@hartmanlab.genetics.uab.edu` * **`ssh username@hartmanlab.genetics.uab.edu`**
* Windows * Windows
* [PuTTY](http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html) * [PuTTY](http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html)
* Android * Android
@@ -47,9 +48,8 @@ Launch graphical programs locally on a client that execute on the server.
Browse and manage files stored on the server. Browse and manage files stored on the server.
* Access sftp via most file managers using a `sftp://` address. * File manager
* Enter the `sftp://` address into your file manager's url bar, such as: `sftp://username@hartmanlab.genetics.uab.edu/home/username`
Example: `sftp://username@hartmanlab.genetics.uab.edu/home/username`
![sftp](docs/imgs/sftp.png) ![sftp](docs/imgs/sftp.png)
* [Filezilla](https://filezilla-project.org/download.php?type=client) (Linux/OSX/Windows) * [Filezilla](https://filezilla-project.org/download.php?type=client) (Linux/OSX/Windows)
@@ -67,26 +67,31 @@ The server provides two `samba` shares:
1. Shared data array (`/mnt/data`): `\\username\\data` 1. Shared data array (`/mnt/data`): `\\username\\data`
2. User home directory (`/home/username`): `\\username\\username` 2. User home directory (`/home/username`): `\\username\\username`
The default `samba` credentials are the same as your server username and password until changed with `smbpasswd`. The default `samba` credentials are the same as your server username and password (unless modified with `smbpasswd`).
**Note:** Samba share are only available on-campus unless also using ssh tunneling: `ssh -L 1445:localhost:445 user@remote-server`
![samba](docs/imgs/samba.png) ![samba](docs/imgs/samba.png)
## `x2goclient` remote desktop ## `x2goclient` remote desktop
Launch a graphical remote desktop session using the X2Go `x2goclient` available for Linux/OSX/Windows from the [X2Go website](http://wiki.x2go.org/doku.php) or by installing the `x2goclient` package. Launch a persistent remote desktop session for graphical applications using [`x2goclient`](https://wiki.x2go.org/doku.php/download:start) (Linux/Windows/OSX).
![x2go_desktop](docs/imgs/x2go_desktop.png) ![x2go_desktop](docs/imgs/x2go_desktop.png)
X2Go sessions can be paused or suspended from the X2Go client window. Multiple sessions can be created on the client, making it possible to select alternate quality settings based on location and bandwidth. X2Go sessions can be paused or suspended from the X2Go client window. Multiple sessions can be created on the client, making it possible to select alternate quality settings based on location and bandwidth.
![x2go_server](docs/imgs/x2go_server.png) ### `x2goclient` configuration
* Session tab * Session tab
* Session name: Hartman Lab Server * Session name: Hartman Lab Server
* Host: `hartmanlab.genetics.uab.edu` * Host: `hartmanlab.genetics.uab.edu`
* Login: *`username`* * Login: *`username`*
* SSH port: `22` * SSH port: `22`
* Session type: **MATE** (MATE provides the best experience with X2Go) * Session type: **[MATE](https://mate-desktop.org/)** (provides the best experience with X2Go)
![x2go_server](docs/imgs/x2go_server.png)
* Connection tab * Connection tab
* Set the connection speed to LAN when connecting from within the UAB network and WAN when outside of the UAB network * Set the connection speed to LAN when connecting from within the UAB network and WAN when outside of the UAB network
* Compression settings should be left unchanged or set to *adaptive*. * Compression settings should be left unchanged or set to *adaptive*.
@@ -100,13 +105,13 @@ X2Go sessions can be paused or suspended from the X2Go client window. Multiple s
* These folders will then appear on the server under `/media/disk/<share_name>`. * These folders will then appear on the server under `/media/disk/<share_name>`.
![x2go_server](docs/imgs/x2go_automount.png) ![x2go_server](docs/imgs/x2go_automount.png)
**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 `ssh` in a [`tmux`](https://en.wikipedia.org/wiki/Tmux) or [`screen`](https://www.gnu.org/software/screen/) session. ## ~~Robot computer remote desktop access~~
## ~~Robot computer remote desktop access~~ (*currently unavailable*) * *Currently unavailable* (TODO network cable unplugged?)
In an X2Go session, go to *Applications>Internet>Remote Viewer>Connection Address and enter [`vnc://192.168.16.101`](vnc://192.168.16.101) * In an X2Go session go to *Applications>Internet>Remote Viewer>Connection Address* and enter [`vnc://192.168.16.101`](vnc://192.168.16.101).
![remote_viewer](docs/imgs/remote_viewer.png) ![remote_viewer](docs/imgs/remote_viewer.png)
## Webcam robot monitoring ## Webcam robot monitoring
@@ -132,22 +137,22 @@ In an X2Go session, go to *Applications>Internet>Remote Viewer>Connection Addres
* [`podman`](https://podman.io/) for containers * [`podman`](https://podman.io/) for containers
* [`toolbox`](https://docs.fedoraproject.org/en-US/fedora-silverblue/toolbox/) for custom software * [`toolbox`](https://docs.fedoraproject.org/en-US/fedora-silverblue/toolbox/) for custom software
* [`distrobox`](https://github.com/89luca89/distrobox) for custom environments * [`distrobox`](https://github.com/89luca89/distrobox) for custom environments
* ...and much more ([open an issue](https://github.com/UAB-Hartman-Lab/server/issues) for software requests) * ...and much more (see `dnf list --installed` for installed packages). [Open an issue](https://github.com/UAB-Hartman-Lab/server/issues) for missing or out-of-date software.
## Backing up your data ## Backing up your data
`/mnt/data` is snapshotted daily to `/mnt/backup/data-backup`. In case of inadvertent data loss, users can recover lost files from a previous snapshot. `/mnt/data` is snapshotted daily to `/mnt/backup/data-backup` and rolling backups are retained for six months.
[`rsync`](https://linux.die.net/man/1/rsync) is recommended for periodically backing up user files to a local client. [`rsync`](https://linux.die.net/man/1/rsync) is recommended for periodically backing up user files to a local client.
* Copy a user's `$HOME` directory locally to `/home-backup` from a client: `rsync -azH --delete username@hartmanlab.genetics.uab.edu:/home/username/ home-backup/` * Copy a user's `$HOME` directory locally to `/home-backup` from a client: `rsync -azH --delete username@hartmanlab.genetics.uab.edu:/home/username/ home-backup/`
* Copy a shared directory locally to the current directory from a client: `rsync -azh username@hartmanlab.genetics.uab.edu:/mnt/data/scans/20250723_roessler_project .` * Copy a shared directory locally to the current directory from a client: `rsync -azh username@hartmanlab.genetics.uab.edu:/mnt/data/scans/20250723_roessler_project .`
Backups can also be initiated *from* the server using other pre-installed backup tools (`rsnapshot`, `borgbackup`, ...). Backups can also be initiated *from* the server using a variety of pre-installed backup tools (`rsnapshot`, `borgbackup`, ...).
## Troubleshooting ## Troubleshooting
Read the `motd` at `ssh` login for server status and updates: `cat /etc/motd`. Notify an admin of any issues. Read the `ssh` login message (`cat /etc/motd`) for server status and updates. [Open an issue](https://github.com/UAB-Hartman-Lab/server/issues) if there is one.
* Can't login via `ssh` * Can't login via `ssh`
* Make sure that you are using the correct username and caps lock is off. * Make sure that you are using the correct username and caps lock is off.
@@ -162,12 +167,20 @@ Read the `motd` at `ssh` login for server status and updates: `cat /etc/motd`. N
* Use `ls -al` or add permissions columns to your file manager to double-check the file permissions. * Use `ls -al` or add permissions columns to your file manager to double-check the file permissions.
* `/mnt/data` uses shared group permissions, usually: * `/mnt/data` uses shared group permissions, usually:
* Group: `smbgrp` * Group: `smbgrp`
* User: user that created/owns the file or `smbgrp` * User: *username* that created/owns the file (or `smbgrp`)
* Permissions: `2775` * Permissions: `2775`
* To change: `chown -R username:smbgrp <dir> && chmod 2775 <dir>` * To change: `chown -R username:smbgrp <dir> && chmod 2775 <dir>`
* If your user does not have sufficient access to alter shared file permissions, have an admin fix or make a copy. * If you do not have sufficient privileges to alter shared file permissions, ask an admin to fix or make a copy.
* Program runs slowly in paused X2Go session
* Run program via `ssh` in a [`tmux`](https://en.wikipedia.org/wiki/Tmux) or [`screen`](https://www.gnu.org/software/screen/) session instead.
## Resources ## GitHub Resources
* [Issues](https://github.com/UAB-Hartman-Lab/server/issues)
* [Wiki](https://github.com/UAB-Hartman-Lab/server/wiki)
* [Chat](https://github.com/UAB-Hartman-Lab/server/discussions)
## External Resources
* [RHEL documentation](https://access.redhat.com/documentation/en/red-hat-enterprise-linux/) * [RHEL documentation](https://access.redhat.com/documentation/en/red-hat-enterprise-linux/)
* [Navigating the Linux CLI](https://www.digitalocean.com/community/tutorials/basic-linux-navigation-and-file-management) * [Navigating the Linux CLI](https://www.digitalocean.com/community/tutorials/basic-linux-navigation-and-file-management)

View File

@@ -1,5 +1,5 @@
#!/usr/bin/env bash #!/usr/bin/env bash
# Unbans a fail2ban IP # Unban a fail2ban IP
# Copyright 2021-2025 Bryan C. Roessler # Copyright 2021-2025 Bryan C. Roessler
# Licensed under the Apache License, Version 2.0 # Licensed under the Apache License, Version 2.0
p="${BASH_SOURCE[0]%/*}"; [[ -r $p/script-functions ]] && . "$p"/script-functions || exit 1 p="${BASH_SOURCE[0]%/*}"; [[ -r $p/script-functions ]] && . "$p"/script-functions || exit 1
@@ -9,9 +9,9 @@ echo "Usage: sudo $0 [ip_address]"
is_root is_root
if [[ $# -eq 1 ]]; then if [[ $# -eq 1 ]]; then
ip_address="$1" ip_address="$1"
else else
prompt ip_address ip_address=$(prompt ip_address)
fi fi
if fail2ban-client set sshd unbanip "$ip_address"; then if fail2ban-client set sshd unbanip "$ip_address"; then