
Servers, Virtualization, SSH, Storage
Hardware CPU Architectures
x86 (32-bit) → basically obsolete, but legacy Windows/Linux still run.
x86-64 / AMD64 (64-bit) → the dominant architecture for desktops & laptops (Intel Core, AMD Ryzen).
ARM → increasingly common in consumer devices (e.g. Apple Silicon M series, Qualcomm Snapdragon PCs, many Chromebooks).
x86-64 (AMD64) → Dominant in servers: Intel Xeon, AMD EPYC. Runs Linux, Windows Server, BSD, VMware ESXi, etc. Default choice for most cloud providers (AWS, Azure, GCP).
ARM (64-bit) → Growing fast in servers due to energy efficiency & scale. Examples: AWS Graviton (ARM Neoverse), Ampere Altra (used in Oracle Cloud). Becoming a strong alternative to x86 in cloud.
IBM Power (POWER9, POWER10) → Enterprise-grade RISC architecture. Used mainly for AIX, IBM i, and Linux on Power. Popular in banking, telco, SAP HANA, HPC, analytics.
IBM Z (Mainframe) → Separate from POWER. Runs z/OS, z/VM, LinuxONE. Still widely used in banking and government for extreme reliability and throughput.
SPARC (Oracle / Fujitsu) → Once a major UNIX server CPU. Still around in some Oracle Solaris deployments, but shrinking fast.
Remote Desktop RDP
Remote Desktop Settings > Enable Remote Desktop
# For Microsoft Accounts:
Sign-in options > Disable Windows Hello sign-in # Login at least once with MS account password
DESKTOP\User # Local user
<local passwd/ms-account-passwd>
# xRDP (Open Source RDP for Linux):
$ sudo apt update
$ sudo apt install xrdp
$ sudo service xrdp start
$ sudo systemctl enable xrdp
$ sudo service xrdp status # xRDP cannot log in with the same user (user should be log out)
$ sudo ufw allow 3389/tcp # Not necessary (but just in case)
$ sudo ufw enable
Network LAN Discovery
arp -a # Limitations: Only shows devices that have recently communicated with your machine.
nmap -sP 10.0.0.0/24 # Advantages: Detects active hosts even if they don’t respond to pings.
sudo nmap -O 10.0.0.212 # OS detection
fping -g 10.0.0.0/24 # Faster than normal ping for scanning large networksn
# Best for DHCP clients
Virtualization
VMware ESXi
Citrix XenServer
Proxmox
Nutanix

Microsoft Hyper-V (Windows)
VMWare Fusion Player (Mac)
VMWare Workstation Player (Windows, Linux)
Oracle Virtual Box (Windows, Mac, Linux)

NAT (Virtual Switch and DHCP, it can communicate outside)
Bridged (IP address directly from the physical network)
Host-only (Isolated Virtual Network and DHCP)

VMware

Proxmox
Accepted Range: 100 - 999,999,999
Proxmox Node
1.
Configure Updates
Enabling No-subscription repositories
Disable banner
/usr/share/javascript/proxmox-widget-toolkit# cp proxmoxlib.js proxmoxlib.js.bak
# nano proxmoxlib.js
Ctrl^W: 'No valid subscription'
Ext.Msg.show({ >> void({
# reboot
1.
VLAN-enabling the default bridge
2.
Clustering
3.
Ceph Storage
4.
High Availability (HA) for VMs
5.
Lets Encrypt Certificates
6.
Two-factor authentication
7.
Proxmox server monitoring with InfluxDB
8.
Proxmox Software Defined Networking (SDN)
9.
VMware ESXi import tool
Docker and LXC Containers

Encryption
AES (Advanced Encryption Standard) is a symmetric-key block cipher that encrypts and decrypts data using the same secret key.
Encrypting large amounts of data. Block cipher (encrypts data in fixed-size blocks) (e.g., files, messages)
Fast and efficient
Symmetric key (same key for encryption and decryption)
Key sizes: 128, 192, or 256 bits
RSA (Rivest-Shamir-Adleman) is an asymmetric-key algorithm that uses a pair of keys:
Used for key exchange, digital signatures, and encryption
Resource intense but more secure than AES
Asymmetric key pair (public and private keys)
Public key (for encryption)
Private key (for decryption)
Key sizes: typically 1024, 2048, or 4096 bits
SHA (Secure Hash Algorithm)
MD5 (Message-Digest Algorithm 5)
Secure Shell SSH
sudo apt install ssh
ssh-keygen #generate private and public keys (on the client)
ssh-copy-id root@192.168.0.102 #copy keys to the server (does not work on windows)
ssh 192.168.1.2 #conectar por el puerto por defecto 22
ssh user@192.168.1.2
ssh user@google.com
ssh -p 2233 user@192.168.1.2 #por el puerto especifico 2233 o cualquier otro
cat /var/log/auth* | grep Failed #ver intentos fallidos ssh
#Config SSH Configuration:
nano /etc/ssh/sshd_config
Port 22 #Cambiar por otro (Por ejemplo Port 2233)
ChallengeResponseAuthentication no #Disable ssh access with password authentication
PasswordAuthentication no #Disable ssh access with password authentication
AllowUsers (tab) <user> #allow access to <user>
sudo service ssh status
sudo service ssh restart #reiniciar el servicio ssh
sudo service ssh stop #detener conexiones ssh
sudo reboot #reiniciar el server
#COPY PUB KEY FROM Windows to Linux
#1. Move your public key (id_rsa.pub) and your private key (id_rsa) to C:\Users\yourUserName
#2. On your windows host via cmder:
cp C:\Users\yourUserName\.ssh\id_rsa.pub C:\Users\yourUserName\authorized_keys
#3. On your ubuntu host:
service ssh status (Start ssh if necessary)
mkdir ~/.ssh/ (if it doesn't already exist)
#4. On your Windows host via cmder:
cd C:\Users\yourUserName\
scp authorized_keys login-id@ubuntu-Host-Ip:~/.ssh
#5. On your Ubuntu host:
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys //Or copy paste the pub key inside this file
#6. On your Windows host via cmder:
Test if you can ssh into your ubuntu host without login/pw auth. If yes:
rm C:\Users\yourUserName\authorized_keys
#In Digital Ocean just copy-paste the pub key
Nextcloud
(open-source SharePoint)
(On TrueNAS)
Storage Configuration
NextCloudAppDataStorage (HTML, Custom Themes, Apps, etc.)
NextCloudUserDataStorage
NextCloudPostgresDataStorage
NextCloudPostgresBackupStorage
# zfs list
# zfs create DataStore/nextcloud
# zfs list
wget https://download.onlyoffice.com/docs/docs-install.sh
?
RAID Configuration

Storage
1.
Ephemeral Storage (VMs, Containers)
2.
Direct Attached Storage (DAS) (Blocks, File-based: APFS, NTFS, Ext4, FAT, exFAT)
3.
Network Attached Storage (NAS) (Blocks, File-based: ZFS, APFS, NTFS, Ext4)
4.
Storage Area Network (SAN) (Block-level, not file-based, Virtualization, Cloud Computing, Database)
5.
Object Cloud Storage (Objects, not Blocks, Cloud, Applications ‘http requests’, AWS S3, Azure Blob)
Files
Blocks
Objects
Hierarchical
Raw disk access
Key-based
Fixed hierarchy
No file system
Schema-less
File sharing, NAS
Database storage, VMs
Media storage, backup, archiving
EFS (Elastic File Storage)
EBS (Elastic Block Storage)
S3 (Simple Storage Service)
‘Files’
‘Disks’
‘Blobs’
‘Filestore’
‘Persistent Disk’
‘Cloud Storage’
-
‘Volumes’
‘Spaces’
Cloudflare
-
-
‘R2’
-
-
‘e2’
-
-
‘B2’
-
-
iX
TrueNAS
1.
Create Pool (Mirror)
2.
Create share (Dataset)
3.
Enable SMB (Services)
4.
Create user (for SMB)
5.
Add SMB share
6.
Load network folder
1.
macOS (Go > Connect to Server > smb://192.168.4.39/NAS)
2.
Windows (Add network location > \\192.168.4.39\NAS)
3.
Linux (smb://192.168.4.39/NAS)
$ lsblk -o +MODEL,SERIAL
$ ls /dev/disk/by-id
# qm set 103 -scsi1 /dev/disk/by-id/ata-WDC_WD10EZEX-08WN4A0_WD-WCC6Y5DHAZEH
# qm set 103 -scsi2 /dev/disk/by-id/ata-WDC_WD10SPCX-24HWST1_WD-WX41AA5370LZ
rsync
$ rsync -avh /source_folder/ /destination_folder/ # Copy
$ rsync -avh --progress /source/ /destination/
$ rsync -avh --progress --exclude '*.tmp' source/ destination/
$ rsync -avh --progress --delete source/ destination/ # Mirror
$ rsync -avh --progress source/ user@remote:/destination/ # Remote
$ rsync -avh -e ssh source/ user@remote:/destination/
# -a: Archive mode (preserves permissions, symbolic links, etc.)
# -v: Verbose (shows detailed output of the transfer)
# -h: Human-readable output (file sizes in readable format)
# -r: Recursively copy directories (this is already included in -a)
# --progress: Show progress during the transfer (useful for large files)
# --delete: Delete files in the destination that don’t exist in the source (mirroring)
# --exclude: Exclude specific files or directories from being copied
# --dry-run: Show what would be copied without actually doing it (good for testing)
# -e: Use a specific remote shell, such as SSH (Copying to/from remote systems)
Rclone
$ rclone config # configure new remote
$ rclone listremotes # list remotes
$ rclone lsd gdrive: # list directories
$ rclone lsf gdrive:folder # list files and folders
$ rclone copy C:/Folder remote:folder -P # Copy
$ rclone sync C:/Folder remote:folder -v -P --exclude "*.jpg" # Sync (Update changes)
$ rclone rcd --rc-web-gui # web ui (experimental)
C:/rclone/rclone.exe mount s3: J: --network-mode --vfs-cache-mode full --no-console
# -v: Verbose
# -P: --progress
# --exclude: Exclude files
# --include: Only include
# --dry-run: Dry Run before sync or copy