# SSH server setup
```bash
sudo nano /etc/ssh/sshd_config # edit as needed: pubkey? password?
sudo nano ~/.authorized_keys #add pubkeys here as needed
sudo systemctl enable sshd #ensure service starts on reboot
sudo systemctl restart sshd
sudo ufw allow ssh
sudo ufw status
```
# ZFS setup
```bash
sudo apt update && sudo apt install linux-headers-amd64 zfsutils-linux zfs-dkms zfs-zed -y #add contrib to /etc/apt/sources.list
sudo zpool import
sudo zpool import -f tank
sudo zfs mount -a
sudo zfs list #shows ZFS filesystems and mount points
df -h #similar to above
```
![[images/Pasted image 20251106083141.png]]![[images/Pasted image 20251106083610.png]]
# Samba server setup
```bash
sudo apt update && sudo apt install -y samba samba-common-bin
sudo nano /etc/samba/smb.conf # share mounted ZFS locs
testparam #check edited smb config file
sudo smbpasswd -a jacob # set smbpassword for target user
sudo systemctl enable smbd # enable smbd to start on reboot
sudo systemctl restart smbd
sudo systemctl status smbd
sudo ufw allow samba
sudo ufw status
```
# RDP server setup
```bash
sudo apt update && sudo apt install -y xrdp gnome-session
sudo systemctl enable xrdp #ensure service starts on reboot
sudo systemctl start xrdp
sudo echo "gnome-session" > ~/.xsession
sudo ufw allow 3389/tcp
```
![[images/Pasted image 20251106082735.png]]
![[images/Pasted image 20251106083006.png]]
# Confirm services are running
```bash
sudo systemctl list-units --type=service --state=running
```
![[images/Pasted image 20251106083513.png]]
# Disable Suspend, Hibernate, etc.
```bash
sudo systemctl mask sleep.target suspend.target hibernate.target hybrid-sleep.target
```
![[images/Pasted image 20251106082711.png]]